18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28d13bc63SEmmanuel Vadot%YAML 1.2 38d13bc63SEmmanuel Vadot--- 48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/net/marvell,aquantia.yaml# 58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68d13bc63SEmmanuel Vadot 78d13bc63SEmmanuel Vadottitle: Marvell Aquantia Ethernet PHY 88d13bc63SEmmanuel Vadot 98d13bc63SEmmanuel Vadotmaintainers: 108d13bc63SEmmanuel Vadot - Christian Marangi <ansuelsmth@gmail.com> 118d13bc63SEmmanuel Vadot 128d13bc63SEmmanuel Vadotdescription: | 138d13bc63SEmmanuel Vadot Marvell Aquantia Ethernet PHY require a firmware to be loaded to actually 148d13bc63SEmmanuel Vadot work. 158d13bc63SEmmanuel Vadot 168d13bc63SEmmanuel Vadot This can be done and is implemented by OEM in 3 different way: 178d13bc63SEmmanuel Vadot - Attached SPI flash directly to the PHY with the firmware. The PHY 188d13bc63SEmmanuel Vadot will self load the firmware in the presence of this configuration. 198d13bc63SEmmanuel Vadot - Read from a dedicated partition on system NAND declared in an 208d13bc63SEmmanuel Vadot NVMEM cell, and loaded to the PHY using its mailbox interface. 218d13bc63SEmmanuel Vadot - Manually provided firmware loaded from a file in the filesystem. 228d13bc63SEmmanuel Vadot 238d13bc63SEmmanuel VadotallOf: 248d13bc63SEmmanuel Vadot - $ref: ethernet-phy.yaml# 258d13bc63SEmmanuel Vadot 268d13bc63SEmmanuel Vadotselect: 278d13bc63SEmmanuel Vadot properties: 288d13bc63SEmmanuel Vadot compatible: 298d13bc63SEmmanuel Vadot contains: 308d13bc63SEmmanuel Vadot enum: 318d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b445 328d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b460 338d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b4a2 348d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b4d0 358d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b4e0 368d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b5c2 378d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b4b0 388d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b662 398d13bc63SEmmanuel Vadot - ethernet-phy-id03a1.b712 408d13bc63SEmmanuel Vadot - ethernet-phy-id31c3.1c12 418d13bc63SEmmanuel Vadot required: 428d13bc63SEmmanuel Vadot - compatible 438d13bc63SEmmanuel Vadot 448d13bc63SEmmanuel Vadotproperties: 458d13bc63SEmmanuel Vadot reg: 468d13bc63SEmmanuel Vadot maxItems: 1 478d13bc63SEmmanuel Vadot 488d13bc63SEmmanuel Vadot firmware-name: 498d13bc63SEmmanuel Vadot description: specify the name of PHY firmware to load 508d13bc63SEmmanuel Vadot 51*5f62a964SEmmanuel Vadot marvell,mdi-cfg-order: 52*5f62a964SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 53*5f62a964SEmmanuel Vadot enum: [0, 1] 54*5f62a964SEmmanuel Vadot description: 55*5f62a964SEmmanuel Vadot force normal (0) or reverse (1) order of MDI pairs, overriding MDI_CFG bootstrap pin. 56*5f62a964SEmmanuel Vadot 578d13bc63SEmmanuel Vadot nvmem-cells: 588d13bc63SEmmanuel Vadot description: phandle to the firmware nvmem cell 598d13bc63SEmmanuel Vadot maxItems: 1 608d13bc63SEmmanuel Vadot 618d13bc63SEmmanuel Vadot nvmem-cell-names: 628d13bc63SEmmanuel Vadot const: firmware 638d13bc63SEmmanuel Vadot 648d13bc63SEmmanuel Vadotrequired: 658d13bc63SEmmanuel Vadot - compatible 668d13bc63SEmmanuel Vadot - reg 678d13bc63SEmmanuel Vadot 688d13bc63SEmmanuel VadotunevaluatedProperties: false 698d13bc63SEmmanuel Vadot 708d13bc63SEmmanuel Vadotexamples: 718d13bc63SEmmanuel Vadot - | 728d13bc63SEmmanuel Vadot mdio { 738d13bc63SEmmanuel Vadot #address-cells = <1>; 748d13bc63SEmmanuel Vadot #size-cells = <0>; 758d13bc63SEmmanuel Vadot 768d13bc63SEmmanuel Vadot ethernet-phy@0 { 778d13bc63SEmmanuel Vadot compatible = "ethernet-phy-id31c3.1c12", 788d13bc63SEmmanuel Vadot "ethernet-phy-ieee802.3-c45"; 798d13bc63SEmmanuel Vadot 808d13bc63SEmmanuel Vadot reg = <0>; 818d13bc63SEmmanuel Vadot firmware-name = "AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld"; 828d13bc63SEmmanuel Vadot }; 838d13bc63SEmmanuel Vadot 848d13bc63SEmmanuel Vadot ethernet-phy@1 { 858d13bc63SEmmanuel Vadot compatible = "ethernet-phy-id31c3.1c12", 868d13bc63SEmmanuel Vadot "ethernet-phy-ieee802.3-c45"; 878d13bc63SEmmanuel Vadot 888d13bc63SEmmanuel Vadot reg = <1>; 898d13bc63SEmmanuel Vadot nvmem-cells = <&aqr_fw>; 908d13bc63SEmmanuel Vadot nvmem-cell-names = "firmware"; 918d13bc63SEmmanuel Vadot }; 928d13bc63SEmmanuel Vadot }; 938d13bc63SEmmanuel Vadot 948d13bc63SEmmanuel Vadot flash { 958d13bc63SEmmanuel Vadot compatible = "jedec,spi-nor"; 968d13bc63SEmmanuel Vadot #address-cells = <1>; 978d13bc63SEmmanuel Vadot #size-cells = <1>; 988d13bc63SEmmanuel Vadot 998d13bc63SEmmanuel Vadot partitions { 1008d13bc63SEmmanuel Vadot compatible = "fixed-partitions"; 1018d13bc63SEmmanuel Vadot #address-cells = <1>; 1028d13bc63SEmmanuel Vadot #size-cells = <1>; 1038d13bc63SEmmanuel Vadot 1048d13bc63SEmmanuel Vadot /* ... */ 1058d13bc63SEmmanuel Vadot 1068d13bc63SEmmanuel Vadot partition@650000 { 1078d13bc63SEmmanuel Vadot compatible = "nvmem-cells"; 1088d13bc63SEmmanuel Vadot label = "0:ethphyfw"; 1098d13bc63SEmmanuel Vadot reg = <0x650000 0x80000>; 1108d13bc63SEmmanuel Vadot read-only; 1118d13bc63SEmmanuel Vadot #address-cells = <1>; 1128d13bc63SEmmanuel Vadot #size-cells = <1>; 1138d13bc63SEmmanuel Vadot 1148d13bc63SEmmanuel Vadot aqr_fw: aqr_fw@0 { 1158d13bc63SEmmanuel Vadot reg = <0x0 0x5f42a>; 1168d13bc63SEmmanuel Vadot }; 1178d13bc63SEmmanuel Vadot }; 1188d13bc63SEmmanuel Vadot 1198d13bc63SEmmanuel Vadot /* ... */ 1208d13bc63SEmmanuel Vadot 1218d13bc63SEmmanuel Vadot }; 1228d13bc63SEmmanuel Vadot }; 123