Commit 0781434a authored by Chris Packham's avatar Chris Packham Committed by Jakub Kicinski
Browse files

dt-bindings: net: orion-mdio: Convert to JSON schema

parent 4c0c6e4c
Loading
Loading
Loading
Loading
+60 −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/marvell,orion-mdio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell MDIO Ethernet Controller interface

maintainers:
  - Andrew Lunn <andrew@lunn.ch>

description: |
  The Ethernet controllers of the Marvel Kirkwood, Dove, Orion5x, MV78xx0,
  Armada 370, Armada XP, Armada 7k and Armada 8k have an identical unit that
  provides an interface with the MDIO bus. Additionally, Armada 7k and Armada
  8k has a second unit which provides an interface with the xMDIO bus. This
  driver handles these interfaces.

allOf:
  - $ref: "mdio.yaml#"

properties:
  compatible:
    enum:
      - marvell,orion-mdio
      - marvell,xmdio

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 4

required:
  - compatible
  - reg

unevaluatedProperties: true

examples:
  - |
    mdio@d0072004 {
      compatible = "marvell,orion-mdio";
      reg = <0xd0072004 0x4>;
      #address-cells = <1>;
      #size-cells = <0>;
      interrupts = <30>;

      phy0: ethernet-phy@0 {
        reg = <0>;
      };

      phy1: ethernet-phy@1 {
        reg = <1>;
      };
    };
+0 −54
Original line number Diff line number Diff line
* Marvell MDIO Ethernet Controller interface

The Ethernet controllers of the Marvel Kirkwood, Dove, Orion5x,
MV78xx0, Armada 370, Armada XP, Armada 7k and Armada 8k have an
identical unit that provides an interface with the MDIO bus.
Additionally, Armada 7k and Armada 8k has a second unit which
provides an interface with the xMDIO bus. This driver handles
these interfaces.

Required properties:
- compatible: "marvell,orion-mdio" or "marvell,xmdio"
- reg: address and length of the MDIO registers.  When an interrupt is
  not present, the length is the size of the SMI register (4 bytes)
  otherwise it must be 0x84 bytes to cover the interrupt control
  registers.

Optional properties:
- interrupts: interrupt line number for the SMI error/done interrupt
- clocks: phandle for up to four required clocks for the MDIO instance

The child nodes of the MDIO driver are the individual PHY devices
connected to this MDIO bus. They must have a "reg" property given the
PHY address on the MDIO bus.

Example at the SoC level without an interrupt property:

mdio {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "marvell,orion-mdio";
	reg = <0xd0072004 0x4>;
};

Example with an interrupt property:

mdio {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "marvell,orion-mdio";
	reg = <0xd0072004 0x84>;
	interrupts = <30>;
};

And at the board level:

mdio {
	phy0: ethernet-phy@0 {
		reg = <0>;
	};

	phy1: ethernet-phy@1 {
		reg = <1>;
	};
}