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

title: Micrel KS8851 Ethernet MAC (SPI and Parallel bus options)

maintainers:
  - Marek Vasut <marex@denx.de>

properties:
  compatible:
    enum:
      - micrel,ks8851      # SPI bus option
      - micrel,ks8851-mll  # Parallel bus option

  interrupts:
    maxItems: 1

  reg:
    minItems: 1
    items:
      - description: SPI or Parallel bus hardware address
      - description: Parallel bus command mode address

  reset-gpios:
    maxItems: 1
    description:
      The reset_n input pin

  vdd-supply:
    description: |
      Analog 3.3V supply for Ethernet MAC

  vdd-io-supply:
    description: |
      Digital 1.8V IO supply for Ethernet MAC

required:
  - compatible
  - reg
  - interrupts

allOf:
  - $ref: ethernet-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: micrel,ks8851
    then:
      $ref: /schemas/spi/spi-peripheral-props.yaml#
      properties:
        reg:
          maxItems: 1
  - if:
      properties:
        compatible:
          contains:
            const: micrel,ks8851-mll
    then:
      $ref: /schemas/memory-controllers/mc-peripheral-props.yaml#
      properties:
        reg:
          minItems: 2

unevaluatedProperties: false

examples:
  - |
    /* SPI bus option */
    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        ethernet@0 {
            compatible = "micrel,ks8851";
            reg = <0>;
            interrupt-parent = <&msmgpio>;
            interrupts = <90 8>;
            vdd-supply = <&ext_l2>;
            vdd-io-supply = <&pm8921_lvs6>;
            reset-gpios = <&msmgpio 89 0>;
        };
    };
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    /* Parallel bus option */
    memory-controller {
        #address-cells = <2>;
        #size-cells = <1>;
        ethernet@1,0 {
            compatible = "micrel,ks8851-mll";
            reg = <1 0x0 0x2>, <1 0x2 0x20000>;
            interrupt-parent = <&gpioc>;
            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
        };
    };
