mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 04:47:05 +00:00
dt-bindings: Document Marvell Aquantia PHY
Document bindings for Marvell Aquantia PHY. The Marvell Aquantia PHY require a firmware to work correctly and there at least 3 way to load this firmware. Describe all the different way and document the binding "firmware-name" to load the PHY firmware from userspace. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e93984ebc1
commit
0fbe92b9fd
1 changed files with 116 additions and 0 deletions
116
Documentation/devicetree/bindings/net/marvell,aquantia.yaml
Normal file
116
Documentation/devicetree/bindings/net/marvell,aquantia.yaml
Normal file
|
@ -0,0 +1,116 @@
|
|||
# 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>;
|
||||
};
|
||||
};
|
||||
|
||||
/* ... */
|
||||
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue