Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# 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 marvell,mdi-cfg-order:
52 $ref: /schemas/types.yaml#/definitions/uint32
53 enum: [0, 1]
54 description:
55 force normal (0) or reverse (1) order of MDI pairs, overriding MDI_CFG bootstrap pin.
56
57 nvmem-cells:
58 description: phandle to the firmware nvmem cell
59 maxItems: 1
60
61 nvmem-cell-names:
62 const: firmware
63
64required:
65 - compatible
66 - reg
67
68unevaluatedProperties: false
69
70examples:
71 - |
72 mdio {
73 #address-cells = <1>;
74 #size-cells = <0>;
75
76 ethernet-phy@0 {
77 compatible = "ethernet-phy-id31c3.1c12",
78 "ethernet-phy-ieee802.3-c45";
79
80 reg = <0>;
81 firmware-name = "AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld";
82 };
83
84 ethernet-phy@1 {
85 compatible = "ethernet-phy-id31c3.1c12",
86 "ethernet-phy-ieee802.3-c45";
87
88 reg = <1>;
89 nvmem-cells = <&aqr_fw>;
90 nvmem-cell-names = "firmware";
91 };
92 };
93
94 flash {
95 compatible = "jedec,spi-nor";
96 #address-cells = <1>;
97 #size-cells = <1>;
98
99 partitions {
100 compatible = "fixed-partitions";
101 #address-cells = <1>;
102 #size-cells = <1>;
103
104 /* ... */
105
106 partition@650000 {
107 compatible = "nvmem-cells";
108 label = "0:ethphyfw";
109 reg = <0x650000 0x80000>;
110 read-only;
111 #address-cells = <1>;
112 #size-cells = <1>;
113
114 aqr_fw: aqr_fw@0 {
115 reg = <0x0 0x5f42a>;
116 };
117 };
118
119 /* ... */
120
121 };
122 };