Commit 7675a1dc authored by Florian Fainelli's avatar Florian Fainelli Committed by Rob Herring
Browse files

dt-bindings: net: Convert iProc MDIO mux to YAML



Conver the Broadcom iProc MDIO mux Device Tree binding to YAML.

Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20211206180049.2086907-9-f.fainelli@gmail.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 1fefc8e7
Loading
Loading
Loading
Loading
+0 −62
Original line number Diff line number Diff line
Properties for an MDIO bus multiplexer found in Broadcom iProc based SoCs.

This MDIO bus multiplexer defines buses that could be internal as well as
external to SoCs and could accept MDIO transaction compatible to C-22 or
C-45 Clause. When child bus is selected, one needs to select these two
properties as well to generate desired MDIO transaction on appropriate bus.

Required properties in addition to the generic multiplexer properties:

MDIO multiplexer node:
- compatible: brcm,mdio-mux-iproc.

Every non-ethernet PHY requires a compatible so that it could be probed based
on this compatible string.

Optional properties:
- clocks: phandle of the core clock which drives the mdio block.

Additional information regarding generic multiplexer properties can be found
at- Documentation/devicetree/bindings/net/mdio-mux.yaml


for example:
		mdio_mux_iproc: mdio-mux@66020000 {
			compatible = "brcm,mdio-mux-iproc";
			reg = <0x66020000 0x250>;
			#address-cells = <1>;
			#size-cells = <0>;

			mdio@0 {
				reg = <0x0>;
				#address-cells = <1>;
				#size-cells = <0>;

				pci_phy0: pci-phy@0 {
					compatible = "brcm,ns2-pcie-phy";
					reg = <0x0>;
					#phy-cells = <0>;
				};
			};

			mdio@7 {
				reg = <0x7>;
				#address-cells = <1>;
				#size-cells = <0>;

				pci_phy1: pci-phy@0 {
					compatible = "brcm,ns2-pcie-phy";
					reg = <0x0>;
					#phy-cells = <0>;
				};
			};
			mdio@10 {
				reg = <0x10>;
				#address-cells = <1>;
				#size-cells = <0>;

				gphy0: eth-phy@10 {
					reg = <0x10>;
				};
			};
		};
+80 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/brcm,mdio-mux-iproc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MDIO bus multiplexer found in Broadcom iProc based SoCs.

maintainers:
  - Florian Fainelli <f.fainelli@gmail.com>

description:
  This MDIO bus multiplexer defines buses that could be internal as well as
  external to SoCs and could accept MDIO transaction compatible to C-22 or
  C-45 Clause. When child bus is selected, one needs to select these two
  properties as well to generate desired MDIO transaction on appropriate bus.

allOf:
  - $ref: /schemas/net/mdio-mux.yaml#

properties:
  compatible:
    const: brcm,mdio-mux-iproc

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    description: core clock driving the MDIO block


required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    mdio_mux_iproc: mdio-mux@66020000 {
        compatible = "brcm,mdio-mux-iproc";
        reg = <0x66020000 0x250>;
        #address-cells = <1>;
        #size-cells = <0>;

        mdio@0 {
           reg = <0x0>;
           #address-cells = <1>;
           #size-cells = <0>;

           pci_phy0: pci-phy@0 {
              compatible = "brcm,ns2-pcie-phy";
              reg = <0x0>;
              #phy-cells = <0>;
           };
        };

        mdio@7 {
           reg = <0x7>;
           #address-cells = <1>;
           #size-cells = <0>;

           pci_phy1: pci-phy@0 {
              compatible = "brcm,ns2-pcie-phy";
              reg = <0x0>;
              #phy-cells = <0>;
           };
        };

        mdio@10 {
           reg = <0x10>;
           #address-cells = <1>;
           #size-cells = <0>;

           gphy0: eth-phy@10 {
              reg = <0x10>;
           };
        };
    };