| # 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 |
| |
| 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>; |
| }; |
| }; |
| |
| /* ... */ |
| |
| }; |
| }; |