# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/amlogic,gxl-mdio-mux.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic GXL MDIO bus multiplexer

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

description:
  This is a special case of a MDIO bus multiplexer. It allows to choose between
  the internal mdio bus leading to the embedded 10/100 PHY or the external
  MDIO bus on the Amlogic GXL SoC family.

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

properties:
  compatible:
    const: amlogic,gxl-mdio-mux

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: ref

required:
  - compatible
  - reg
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    eth_phy_mux: mdio@558 {
      compatible = "amlogic,gxl-mdio-mux";
      reg = <0x558 0xc>;
      #address-cells = <1>;
      #size-cells = <0>;
      clocks = <&refclk>;
      clock-names = "ref";
      mdio-parent-bus = <&mdio0>;

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

      internal_mdio: mdio@1 {
        reg = <0x1>;
        #address-cells = <1>;
        #size-cells = <0>;
      };
    };