Message ID | 1684969313-35503-3-git-send-email-justin.chen@broadcom.com |
---|---|
State | Superseded |
Headers | show |
Series | Brcm ASP 2.0 Ethernet Controller | expand |
On Wed, May 24, 2023 at 04:01:49PM -0700, Justin Chen wrote: > From: Florian Fainelli <florian.fainelli@broadcom.com> > > Add a binding document for the Broadcom ASP 2.0 Ethernet > controller. > > Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> > Signed-off-by: Justin Chen <justin.chen@broadcom.com> > --- > v5 > - Fix compatible string yaml format to properly capture what we want > > v4 > - Adjust compatible string example to reference SoC and HW ver > > v3 > - Minor formatting issues > - Change channel prop to brcm,channel for vendor specific format > - Removed redundant v2.0 from compat string > - Fix ranges field > > v2 > - Minor formatting issues > > .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 149 +++++++++++++++++++++ > 1 file changed, 149 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > > diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > new file mode 100644 > index 000000000000..c4cd24492bfd > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml > @@ -0,0 +1,149 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Broadcom ASP 2.0 Ethernet controller > + > +maintainers: > + - Justin Chen <justin.chen@broadcom.com> > + - Florian Fainelli <florian.fainelli@broadcom.com> > + > +description: Broadcom Ethernet controller first introduced with 72165 > + > +properties: > + '#address-cells': > + const: 1 > + '#size-cells': > + const: 1 > + > + compatible: > + oneOf: > + - items: > + - enum: > + - brcm,bcm74165-asp > + - const: brcm,asp-v2.1 > + - items: > + - enum: > + - brcm,bcm72165-asp > + - const: brcm,asp-v2.0 Sorry if I did not notice this before, conventionally compatible goes first here. IFF there is another version, could you shuffle things around? Otherwise, Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor.
On 5/31/23 12:18 PM, Krzysztof Kozlowski wrote: > On 25/05/2023 01:01, Justin Chen wrote: >> From: Florian Fainelli <florian.fainelli@broadcom.com> >> >> Add a binding document for the Broadcom ASP 2.0 Ethernet >> controller. >> >> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> >> Signed-off-by: Justin Chen <justin.chen@broadcom.com> >> --- >> v5 >> - Fix compatible string yaml format to properly capture what we want >> >> v4 >> - Adjust compatible string example to reference SoC and HW ver >> >> v3 >> - Minor formatting issues >> - Change channel prop to brcm,channel for vendor specific format >> - Removed redundant v2.0 from compat string >> - Fix ranges field >> >> v2 >> - Minor formatting issues >> >> .../devicetree/bindings/net/brcm,asp-v2.0.yaml | 149 +++++++++++++++++++++ >> 1 file changed, 149 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >> >> diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >> new file mode 100644 >> index 000000000000..c4cd24492bfd >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml >> @@ -0,0 +1,149 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Broadcom ASP 2.0 Ethernet controller >> + >> +maintainers: >> + - Justin Chen <justin.chen@broadcom.com> >> + - Florian Fainelli <florian.fainelli@broadcom.com> >> + >> +description: Broadcom Ethernet controller first introduced with 72165 >> + >> +properties: >> + '#address-cells': > > Judging by more comments, there will be a v6, thus please also use > consistent quotes - either ' or ". > >> + const: 1 >> + '#size-cells': >> + const: 1 >> + >> + compatible: > > As Conor pointed out, compatible is always first. > >> + oneOf: >> + - items: >> + - enum: >> + - brcm,bcm74165-asp >> + - const: brcm,asp-v2.1 >> + - items: >> + - enum: >> + - brcm,bcm72165-asp >> + - const: brcm,asp-v2.0 >> + >> + reg: >> + maxItems: 1 >> + >> + ranges: true >> + >> + interrupts: >> + minItems: 1 >> + items: >> + - description: RX/TX interrupt >> + - description: Port 0 Wake-on-LAN >> + - description: Port 1 Wake-on-LAN >> + >> + clocks: >> + maxItems: 1 >> + >> + ethernet-ports: >> + type: object >> + properties: >> + '#address-cells': >> + const: 1 >> + '#size-cells': >> + const: 0 >> + >> + patternProperties: >> + "^port@[0-9]+$": >> + type: object >> + >> + $ref: ethernet-controller.yaml# >> + >> + properties: >> + reg: >> + maxItems: 1 >> + description: Port number >> + >> + brcm,channel: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: ASP channel number > > Why do you need it? reg defines it. Your description does not explain > here much, except copying property name. Can we please avoid > descriptions which just copy name? > Will add a better description. The values may be different. Thanks, Justin
diff --git a/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml new file mode 100644 index 000000000000..c4cd24492bfd --- /dev/null +++ b/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml @@ -0,0 +1,149 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom ASP 2.0 Ethernet controller + +maintainers: + - Justin Chen <justin.chen@broadcom.com> + - Florian Fainelli <florian.fainelli@broadcom.com> + +description: Broadcom Ethernet controller first introduced with 72165 + +properties: + '#address-cells': + const: 1 + '#size-cells': + const: 1 + + compatible: + oneOf: + - items: + - enum: + - brcm,bcm74165-asp + - const: brcm,asp-v2.1 + - items: + - enum: + - brcm,bcm72165-asp + - const: brcm,asp-v2.0 + + reg: + maxItems: 1 + + ranges: true + + interrupts: + minItems: 1 + items: + - description: RX/TX interrupt + - description: Port 0 Wake-on-LAN + - description: Port 1 Wake-on-LAN + + clocks: + maxItems: 1 + + ethernet-ports: + type: object + properties: + '#address-cells': + const: 1 + '#size-cells': + const: 0 + + patternProperties: + "^port@[0-9]+$": + type: object + + $ref: ethernet-controller.yaml# + + properties: + reg: + maxItems: 1 + description: Port number + + brcm,channel: + $ref: /schemas/types.yaml#/definitions/uint32 + description: ASP channel number + + required: + - reg + - brcm,channel + + additionalProperties: false + +patternProperties: + "^mdio@[0-9a-f]+$": + type: object + $ref: brcm,unimac-mdio.yaml + + description: + ASP internal UniMAC MDIO bus + +required: + - compatible + - reg + - interrupts + - clocks + - ranges + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + ethernet@9c00000 { + compatible = "brcm,bcm72165-asp", "brcm,asp-v2.0"; + reg = <0x9c00000 0x1fff14>; + interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; + ranges = <0x0 0x9c00000 0x1fff14>; + clocks = <&scmi 14>; + #address-cells = <1>; + #size-cells = <1>; + + mdio@c614 { + compatible = "brcm,asp-v2.0-mdio"; + reg = <0xc614 0x8>; + reg-names = "mdio"; + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@1 { + reg = <1>; + }; + }; + + mdio@ce14 { + compatible = "brcm,asp-v2.0-mdio"; + reg = <0xce14 0x8>; + reg-names = "mdio"; + #address-cells = <1>; + #size-cells = <0>; + + phy1: ethernet-phy@1 { + reg = <1>; + }; + }; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + brcm,channel = <8>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + + port@1 { + reg = <1>; + brcm,channel = <9>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + }; + };