Files
cubelinux-kernel/Documentation/devicetree/bindings/net/mdio-mux-mmioreg.yaml
T
Greg Kroah-Hartman 598cf27219 Linux 6.19.3
Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org
Tested-by: Florian Fainelli <florian.fainelli@broadcom.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Peter Schneider <pschneider1968@googlemail.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Brett A C Sheffield <bacs@librecast.net>
Tested-by: Mark Brown <broonie@kernel.org>
Tested-by: Luna Jernberg <droidbittin@gmail.com>
Tested-by: Ronald Warsow <rwarsow@gmx.de>
Tested-by: Justin M. Forbes <jforbes@fedoraproject.org>
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-02-19 16:33:27 +01:00

79 lines
2.1 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/mdio-mux-mmioreg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Properties for an MDIO bus multiplexer controlled by a memory-mapped device
maintainers:
- Andrew Lunn <andrew@lunn.ch>
description: |+
This is a special case of a MDIO bus multiplexer. A memory-mapped device,
like an FPGA, is used to control which child bus is connected. The mdio-mux
node must be a child of the memory-mapped device. The driver currently only
supports devices with 8, 16 or 32-bit registers.
allOf:
- $ref: /schemas/net/mdio-mux.yaml#
properties:
compatible:
items:
- const: mdio-mux-mmioreg
- const: mdio-mux
reg:
description: Contains the offset of the register that controls the bus
multiplexer. The size field in the 'reg' property is the size of register,
and must therefore be 1, 2, or 4.
maxItems: 1
mux-mask:
$ref: /schemas/types.yaml#/definitions/uint32
description: Contains an eight-bit mask that specifies which bits in the
register control the actual bus multiplexer. The 'reg' property of each
child mdio-mux node must be constrained by this mask.
required:
- compatible
- reg
- mux-mask
unevaluatedProperties: false
examples:
- |
mdio-mux@9 {
compatible = "mdio-mux-mmioreg", "mdio-mux";
mdio-parent-bus = <&xmdio0>;
#address-cells = <1>;
#size-cells = <0>;
reg = <9 1>; // BRDCFG1
mux-mask = <0x6>; // EMI2
mdio@0 { // Slot 1 XAUI (FM2)
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
phy_xgmii_slot1: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <4>;
};
};
mdio@2 { // Slot 2 XAUI (FM1)
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <4>;
};
};
};
...