| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/micrel.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Micrel KSZ series PHYs and switches |
| |
| maintainers: |
| - Andrew Lunn <andrew@lunn.ch> |
| - Stefan Eichenberger <eichest@gmail.com> |
| |
| description: |
| The Micrel KSZ series contains different network phys and switches. |
| |
| properties: |
| compatible: |
| enum: |
| - ethernet-phy-id000e.7237 # KSZ8873MLL |
| - ethernet-phy-id0022.1430 # KSZ886X |
| - ethernet-phy-id0022.1435 # KSZ8863 |
| - ethernet-phy-id0022.1510 # KSZ8041 |
| - ethernet-phy-id0022.1537 # KSZ8041RNLI |
| - ethernet-phy-id0022.1550 # KSZ8051 |
| - ethernet-phy-id0022.1555 # KSZ8021 |
| - ethernet-phy-id0022.1556 # KSZ8031 |
| - ethernet-phy-id0022.1560 # KSZ8081, KSZ8091 |
| - ethernet-phy-id0022.1570 # KSZ8061 |
| - ethernet-phy-id0022.161a # KSZ8001 |
| - ethernet-phy-id0022.1720 # KS8737 |
| |
| micrel,fiber-mode: |
| type: boolean |
| description: | |
| If present the PHY is configured to operate in fiber mode. |
| |
| The KSZ8041FTL variant supports fiber mode, enabled by the FXEN |
| boot strapping pin. It can't be determined from the PHY registers |
| whether the PHY is in fiber mode, so this boolean device tree |
| property can be used to describe it. |
| |
| In fiber mode, auto-negotiation is disabled and the PHY can only |
| work in 100base-fx (full and half duplex) modes. |
| |
| micrel,led-mode: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| LED mode value to set for PHYs with configurable LEDs. |
| |
| Configure the LED mode with single value. The list of PHYs and the |
| bits that are currently supported: |
| |
| KSZ8001: register 0x1e, bits 15..14 |
| KSZ8041: register 0x1e, bits 15..14 |
| KSZ8021: register 0x1f, bits 5..4 |
| KSZ8031: register 0x1f, bits 5..4 |
| KSZ8051: register 0x1f, bits 5..4 |
| KSZ8081: register 0x1f, bits 5..4 |
| KSZ8091: register 0x1f, bits 5..4 |
| |
| See the respective PHY datasheet for the mode values. |
| minimum: 0 |
| maximum: 3 |
| |
| allOf: |
| - $ref: ethernet-phy.yaml# |
| - if: |
| not: |
| properties: |
| compatible: |
| contains: |
| const: ethernet-phy-id0022.1510 |
| then: |
| properties: |
| micrel,fiber-mode: false |
| - if: |
| not: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - ethernet-phy-id0022.1510 |
| - ethernet-phy-id0022.1555 |
| - ethernet-phy-id0022.1556 |
| - ethernet-phy-id0022.1550 |
| - ethernet-phy-id0022.1560 |
| - ethernet-phy-id0022.161a |
| then: |
| properties: |
| micrel,led-mode: false |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - ethernet-phy-id0022.1555 |
| - ethernet-phy-id0022.1556 |
| - ethernet-phy-id0022.1560 |
| then: |
| properties: |
| clock-names: |
| const: rmii-ref |
| description: |
| The RMII reference input clock. Used to determine the XI input |
| clock. |
| micrel,rmii-reference-clock-select-25-mhz: |
| type: boolean |
| description: | |
| RMII Reference Clock Select bit selects 25 MHz mode |
| |
| Setting the RMII Reference Clock Select bit enables 25 MHz rather |
| than 50 MHz clock mode. |
| |
| dependentRequired: |
| micrel,rmii-reference-clock-select-25-mhz: [ clock-names ] |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| ethernet-phy@5 { |
| compatible = "ethernet-phy-id0022.1510"; |
| reg = <5>; |
| micrel,led-mode = <2>; |
| micrel,fiber-mode; |
| }; |
| }; |