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 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 }; 117