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