Re: [net-next PATCH v5 1/9] dt-bindings: net: document ethernet PHY package nodes

From: Rob Herring
Date: Fri Feb 02 2024 - 15:53:14 EST


On Thu, Feb 01, 2024 at 04:17:27PM +0100, Christian Marangi wrote:
> Document ethernet PHY package nodes used to describe PHY shipped in
> bundle of 2-5 PHY. The special node describe a container of PHY that
> share common properties. This is a generic schema and PHY package
> should create specialized version with the required additional shared
> properties.
>
> Example are PHY packages that have some regs only in one PHY of the
> package and will affect every other PHY in the package, for example
> related to PHY interface mode calibration or global PHY mode selection.
>
> The PHY package node MUST declare the base address used by the PHY driver
> for global configuration by calculating the offsets of the global PHY
> based on the base address of the PHY package.
>
> Each reg of the PHYs defined in the PHY Package node is an offset of the
> PHY Package reg.
>
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
> ---
> .../bindings/net/ethernet-phy-package.yaml | 55 +++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml b/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
> new file mode 100644
> index 000000000000..d7cdbb1a4b3e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/ethernet-phy-package.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/ethernet-phy-package.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ethernet PHY Package Common Properties
> +
> +maintainers:
> + - Christian Marangi <ansuelsmth@xxxxxxxxx>
> +
> +description:
> + PHY packages are multi-port Ethernet PHY of the same family
> + and each Ethernet PHY is affected by the global configuration
> + of the PHY package.
> +
> + Each reg of the PHYs defined in the PHY Package node is
> + an offset of the PHY Package reg.
> +
> + Each Ethernet PHYs defined in the PHY package node is
> + reachable in the MDIO bus at the address of the PHY
> + Package offset of the Ethernet PHY reg.

If the phys are addressed with an MDIO address, then just use those.

> +
> +properties:
> + $nodename:
> + pattern: "^ethernet-phy-package(@[a-f0-9]+)?$"

Can't be optional if 'reg' is required (which it should be).

> +
> + reg:
> + minimum: 0
> + maximum: 31
> + description:
> + The base ID number for the PHY package.
> + Commonly the ID of the first PHY in the PHY package.
> +
> + Some PHY in the PHY package might be not defined but
> + still occupy ID on the device (just not attached to
> + anything) hence the PHY package reg might correspond
> + to a not attached PHY (offset 0).
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> +patternProperties:
> + ^ethernet-phy(@[a-f0-9]+)?$:

Same issue here.

> + $ref: ethernet-phy.yaml#
> +
> +required:
> + - reg
> + - '#address-cells'
> + - '#size-cells'
> +
> +additionalProperties: true
> --
> 2.43.0
>