# 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 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>; }; }; /* ... */ }; };