blob: 9854fab4c4db08e4b668734baa0f1e8579c0507c [file] [log] [blame]
Tom Rini93743d22024-04-01 09:08:13 -04001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/marvell,aquantia.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Marvell Aquantia Ethernet PHY
8
9maintainers:
10 - Christian Marangi <ansuelsmth@gmail.com>
11
12description: |
13 Marvell Aquantia Ethernet PHY require a firmware to be loaded to actually
14 work.
15
16 This can be done and is implemented by OEM in 3 different way:
17 - Attached SPI flash directly to the PHY with the firmware. The PHY
18 will self load the firmware in the presence of this configuration.
19 - Read from a dedicated partition on system NAND declared in an
20 NVMEM cell, and loaded to the PHY using its mailbox interface.
21 - Manually provided firmware loaded from a file in the filesystem.
22
23allOf:
24 - $ref: ethernet-phy.yaml#
25
26select:
27 properties:
28 compatible:
29 contains:
30 enum:
31 - ethernet-phy-id03a1.b445
32 - ethernet-phy-id03a1.b460
33 - ethernet-phy-id03a1.b4a2
34 - ethernet-phy-id03a1.b4d0
35 - ethernet-phy-id03a1.b4e0
36 - ethernet-phy-id03a1.b5c2
37 - ethernet-phy-id03a1.b4b0
38 - ethernet-phy-id03a1.b662
39 - ethernet-phy-id03a1.b712
40 - ethernet-phy-id31c3.1c12
41 required:
42 - compatible
43
44properties:
45 reg:
46 maxItems: 1
47
48 firmware-name:
49 description: specify the name of PHY firmware to load
50
51 nvmem-cells:
52 description: phandle to the firmware nvmem cell
53 maxItems: 1
54
55 nvmem-cell-names:
56 const: firmware
57
58required:
59 - compatible
60 - reg
61
62unevaluatedProperties: false
63
64examples:
65 - |
66 mdio {
67 #address-cells = <1>;
68 #size-cells = <0>;
69
70 ethernet-phy@0 {
71 compatible = "ethernet-phy-id31c3.1c12",
72 "ethernet-phy-ieee802.3-c45";
73
74 reg = <0>;
75 firmware-name = "AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld";
76 };
77
78 ethernet-phy@1 {
79 compatible = "ethernet-phy-id31c3.1c12",
80 "ethernet-phy-ieee802.3-c45";
81
82 reg = <1>;
83 nvmem-cells = <&aqr_fw>;
84 nvmem-cell-names = "firmware";
85 };
86 };
87
88 flash {
89 compatible = "jedec,spi-nor";
90 #address-cells = <1>;
91 #size-cells = <1>;
92
93 partitions {
94 compatible = "fixed-partitions";
95 #address-cells = <1>;
96 #size-cells = <1>;
97
98 /* ... */
99
100 partition@650000 {
101 compatible = "nvmem-cells";
102 label = "0:ethphyfw";
103 reg = <0x650000 0x80000>;
104 read-only;
105 #address-cells = <1>;
106 #size-cells = <1>;
107
108 aqr_fw: aqr_fw@0 {
109 reg = <0x0 0x5f42a>;
110 };
111 };
112
113 /* ... */
114
115 };
116 };