| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/net/marvell,aquantia.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Marvell Aquantia Ethernet PHY | |
| maintainers: | |
| - Christian Marangi <ansuelsmth@gmail.com> | |
| description: | | |
| Marvell Aquantia Ethernet PHY require a firmware to be loaded to actually | |
| work. | |
| This can be done and is implemented by OEM in 3 different way: | |
| - Attached SPI flash directly to the PHY with the firmware. The PHY | |
| will self load the firmware in the presence of this configuration. | |
| - Read from a dedicated partition on system NAND declared in an | |
| NVMEM cell, and loaded to the PHY using its mailbox interface. | |
| - Manually provided firmware loaded from a file in the filesystem. | |
| allOf: | |
| - $ref: ethernet-phy.yaml# | |
| select: | |
| properties: | |
| compatible: | |
| contains: | |
| enum: | |
| - ethernet-phy-id03a1.b445 | |
| - ethernet-phy-id03a1.b460 | |
| - ethernet-phy-id03a1.b4a2 | |
| - ethernet-phy-id03a1.b4d0 | |
| - ethernet-phy-id03a1.b4e0 | |
| - ethernet-phy-id03a1.b5c2 | |
| - ethernet-phy-id03a1.b4b0 | |
| - ethernet-phy-id03a1.b662 | |
| - ethernet-phy-id03a1.b712 | |
| - ethernet-phy-id31c3.1c12 | |
| required: | |
| - compatible | |
| properties: | |
| reg: | |
| maxItems: 1 | |
| firmware-name: | |
| description: specify the name of PHY firmware to load | |
| marvell,mdi-cfg-order: | |
| $ref: /schemas/types.yaml#/definitions/uint32 | |
| enum: [0, 1] | |
| description: | |
| force normal (0) or reverse (1) order of MDI pairs, overriding MDI_CFG bootstrap pin. | |
| nvmem-cells: | |
| description: phandle to the firmware nvmem cell | |
| maxItems: 1 | |
| nvmem-cell-names: | |
| const: firmware | |
| required: | |
| - compatible | |
| - reg | |
| unevaluatedProperties: false | |
| examples: | |
| - | | |
| mdio { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| ethernet-phy@0 { | |
| compatible = "ethernet-phy-id31c3.1c12", | |
| "ethernet-phy-ieee802.3-c45"; | |
| reg = <0>; | |
| firmware-name = "AQR-G4_v5.4.C-AQR_CIG_WF-1945_0x8_ID44776_VER1630.cld"; | |
| }; | |
| ethernet-phy@1 { | |
| compatible = "ethernet-phy-id31c3.1c12", | |
| "ethernet-phy-ieee802.3-c45"; | |
| reg = <1>; | |
| nvmem-cells = <&aqr_fw>; | |
| nvmem-cell-names = "firmware"; | |
| }; | |
| }; | |
| flash { | |
| compatible = "jedec,spi-nor"; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| partitions { | |
| compatible = "fixed-partitions"; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| /* ... */ | |
| partition@650000 { | |
| compatible = "nvmem-cells"; | |
| label = "0:ethphyfw"; | |
| reg = <0x650000 0x80000>; | |
| read-only; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| aqr_fw: aqr_fw@0 { | |
| reg = <0x0 0x5f42a>; | |
| }; | |
| }; | |
| /* ... */ | |
| }; | |
| }; |