On 5/31/23 12:18, Krzysztof Kozlowski wrote:
On 25/05/2023 01:01, Justin Chen wrote:From: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx> Add a binding document for the Broadcom ASP 2.0 Ethernet controller. Signed-off-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx> Signed-off-by: Justin Chen <justin.chen@xxxxxxxxxxxx> --- 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@xxxxxxxxxxxx> + - Florian Fainelli <florian.fainelli@xxxxxxxxxxxx> + +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 numberWhy 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?+ + required: + - reg + - brcm,channel + + additionalProperties: false + +patternProperties: + "^mdio@[0-9a-f]+$":Isn't mdio a property of each ethernet port? Existing users (e.g.bcmgenet, owl-emac, switches) do it that way...
They are sub-nodes of the larger Ethernet controller block, hence the property here.
Otherwise how do you define relation-ship? Can one mdio fit multiple ports?
The relationship is established between Ethernet ports and children nodes of the MDIO controller, such as switches or Ethernet PHYs using 'phy-handle' for instance. And yes, a single/common MDIO controller could be serving multiple Ethernet ports.
-- Florian
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature