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 >