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

title: MDIO bus multiplexer/glue of Amlogic G12a SoC family

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.

maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

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

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

  reg:
    maxItems: 1

  clocks:
    items:
      - description: peripheral clock
      - description: platform crytal
      - description: SoC 50MHz MPLL

  clock-names:
    items:
      - const: pclk
      - const: clkin0
      - const: clkin1

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

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    mdio-multiplexer@4c000 {
        compatible = "amlogic,g12a-mdio-mux";
        reg = <0x4c000 0xa4>;
        clocks = <&clkc_eth_phy>, <&xtal>, <&clkc_mpll>;
        clock-names = "pclk", "clkin0", "clkin1";
        mdio-parent-bus = <&mdio0>;
        #address-cells = <1>;
        #size-cells = <0>;

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

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

            ethernet-phy@8 {
                compatible = "ethernet-phy-id0180.3301",
                             "ethernet-phy-ieee802.3-c22";
                interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                reg = <8>;
                max-speed = <100>;
            };
        };
    };
...
