123 lines
3.0 KiB
YAML
123 lines
3.0 KiB
YAML
# 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
|
|
|
|
marvell,mdi-cfg-order:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1]
|
|
description:
|
|
force normal (0) or reverse (1) order of MDI pairs, overriding MDI_CFG bootstrap pin.
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
/* ... */
|
|
|
|
};
|
|
};
|