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

title: Marvell Aquantia Ethernet PHY

maintainers:
  - Christian Marangi <ansuelsmth@gmail.com>

description: |
  Marvell Aquantia Ethernet PHY require a firmware to be loaded to actually
  work.

  This can be done and is implemented by OEM in 3 different way:
    - Attached SPI flash directly to the PHY with the firmware. The PHY
      will self load the firmware in the presence of this configuration.
    - Read from a dedicated partition on system NAND declared in an
      NVMEM cell, and loaded to the PHY using its mailbox interface.
    - Manually provided firmware loaded from a file in the filesystem.

allOf:
  - $ref: ethernet-phy.yaml#

select:
  properties:
    compatible:
      contains:
        enum:
          - ethernet-phy-id03a1.b445
          - ethernet-phy-id03a1.b460
          - ethernet-phy-id03a1.b4a2
          - ethernet-phy-id03a1.b4d0
          - ethernet-phy-id03a1.b4e0
          - ethernet-phy-id03a1.b5c2
          - ethernet-phy-id03a1.b4b0
          - ethernet-phy-id03a1.b662
          - ethernet-phy-id03a1.b712
          - ethernet-phy-id31c3.1c12
  required:
    - compatible

properties:
  reg:
    maxItems: 1

  firmware-name:
    description: specify the name of PHY firmware to load

  nvmem-cells:
    description: phandle to the firmware nvmem cell
    maxItems: 1

  nvmem-cell-names:
    const: firmware

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethernet-phy@0 {
            compatible = "ethernet-phy-id31c3.1c12",
                         "ethernet-phy-ieee802.3-c45";

            reg = <0>;
            firmware-name = "AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld";
        };

        ethernet-phy@1 {
            compatible = "ethernet-phy-id31c3.1c12",
                         "ethernet-phy-ieee802.3-c45";

            reg = <1>;
            nvmem-cells = <&aqr_fw>;
            nvmem-cell-names = "firmware";
        };
    };

    flash {
        compatible = "jedec,spi-nor";
        #address-cells = <1>;
        #size-cells = <1>;

        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            /* ... */

            partition@650000 {
                compatible = "nvmem-cells";
                label = "0:ethphyfw";
                reg = <0x650000 0x80000>;
                read-only;
                #address-cells = <1>;
                #size-cells = <1>;

                aqr_fw: aqr_fw@0 {
                    reg = <0x0 0x5f42a>;
                };
            };

            /* ... */

        };
    };
