1*4dd29c65SStefan Eichenberger# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4dd29c65SStefan Eichenberger%YAML 1.2 3*4dd29c65SStefan Eichenberger--- 4*4dd29c65SStefan Eichenberger$id: http://devicetree.org/schemas/net/micrel.yaml# 5*4dd29c65SStefan Eichenberger$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4dd29c65SStefan Eichenberger 7*4dd29c65SStefan Eichenbergertitle: Micrel KSZ series PHYs and switches 8*4dd29c65SStefan Eichenberger 9*4dd29c65SStefan Eichenbergermaintainers: 10*4dd29c65SStefan Eichenberger - Andrew Lunn <andrew@lunn.ch> 11*4dd29c65SStefan Eichenberger - Stefan Eichenberger <eichest@gmail.com> 12*4dd29c65SStefan Eichenberger 13*4dd29c65SStefan Eichenbergerdescription: 14*4dd29c65SStefan Eichenberger The Micrel KSZ series contains different network phys and switches. 15*4dd29c65SStefan Eichenberger 16*4dd29c65SStefan Eichenbergerproperties: 17*4dd29c65SStefan Eichenberger compatible: 18*4dd29c65SStefan Eichenberger enum: 19*4dd29c65SStefan Eichenberger - ethernet-phy-id000e.7237 # KSZ8873MLL 20*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1430 # KSZ886X 21*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1435 # KSZ8863 22*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1510 # KSZ8041 23*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1537 # KSZ8041RNLI 24*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1550 # KSZ8051 25*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1555 # KSZ8021 26*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1556 # KSZ8031 27*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1560 # KSZ8081, KSZ8091 28*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1570 # KSZ8061 29*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.161a # KSZ8001 30*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1720 # KS8737 31*4dd29c65SStefan Eichenberger 32*4dd29c65SStefan Eichenberger micrel,fiber-mode: 33*4dd29c65SStefan Eichenberger type: boolean 34*4dd29c65SStefan Eichenberger description: | 35*4dd29c65SStefan Eichenberger If present the PHY is configured to operate in fiber mode. 36*4dd29c65SStefan Eichenberger 37*4dd29c65SStefan Eichenberger The KSZ8041FTL variant supports fiber mode, enabled by the FXEN 38*4dd29c65SStefan Eichenberger boot strapping pin. It can't be determined from the PHY registers 39*4dd29c65SStefan Eichenberger whether the PHY is in fiber mode, so this boolean device tree 40*4dd29c65SStefan Eichenberger property can be used to describe it. 41*4dd29c65SStefan Eichenberger 42*4dd29c65SStefan Eichenberger In fiber mode, auto-negotiation is disabled and the PHY can only 43*4dd29c65SStefan Eichenberger work in 100base-fx (full and half duplex) modes. 44*4dd29c65SStefan Eichenberger 45*4dd29c65SStefan Eichenberger micrel,led-mode: 46*4dd29c65SStefan Eichenberger $ref: /schemas/types.yaml#/definitions/uint32 47*4dd29c65SStefan Eichenberger description: | 48*4dd29c65SStefan Eichenberger LED mode value to set for PHYs with configurable LEDs. 49*4dd29c65SStefan Eichenberger 50*4dd29c65SStefan Eichenberger Configure the LED mode with single value. The list of PHYs and the 51*4dd29c65SStefan Eichenberger bits that are currently supported: 52*4dd29c65SStefan Eichenberger 53*4dd29c65SStefan Eichenberger KSZ8001: register 0x1e, bits 15..14 54*4dd29c65SStefan Eichenberger KSZ8041: register 0x1e, bits 15..14 55*4dd29c65SStefan Eichenberger KSZ8021: register 0x1f, bits 5..4 56*4dd29c65SStefan Eichenberger KSZ8031: register 0x1f, bits 5..4 57*4dd29c65SStefan Eichenberger KSZ8051: register 0x1f, bits 5..4 58*4dd29c65SStefan Eichenberger KSZ8081: register 0x1f, bits 5..4 59*4dd29c65SStefan Eichenberger KSZ8091: register 0x1f, bits 5..4 60*4dd29c65SStefan Eichenberger 61*4dd29c65SStefan Eichenberger See the respective PHY datasheet for the mode values. 62*4dd29c65SStefan Eichenberger minimum: 0 63*4dd29c65SStefan Eichenberger maximum: 3 64*4dd29c65SStefan Eichenberger 65*4dd29c65SStefan EichenbergerallOf: 66*4dd29c65SStefan Eichenberger - $ref: ethernet-phy.yaml# 67*4dd29c65SStefan Eichenberger - if: 68*4dd29c65SStefan Eichenberger not: 69*4dd29c65SStefan Eichenberger properties: 70*4dd29c65SStefan Eichenberger compatible: 71*4dd29c65SStefan Eichenberger contains: 72*4dd29c65SStefan Eichenberger const: ethernet-phy-id0022.1510 73*4dd29c65SStefan Eichenberger then: 74*4dd29c65SStefan Eichenberger properties: 75*4dd29c65SStefan Eichenberger micrel,fiber-mode: false 76*4dd29c65SStefan Eichenberger - if: 77*4dd29c65SStefan Eichenberger not: 78*4dd29c65SStefan Eichenberger properties: 79*4dd29c65SStefan Eichenberger compatible: 80*4dd29c65SStefan Eichenberger contains: 81*4dd29c65SStefan Eichenberger enum: 82*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1510 83*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1555 84*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1556 85*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1550 86*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1560 87*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.161a 88*4dd29c65SStefan Eichenberger then: 89*4dd29c65SStefan Eichenberger properties: 90*4dd29c65SStefan Eichenberger micrel,led-mode: false 91*4dd29c65SStefan Eichenberger - if: 92*4dd29c65SStefan Eichenberger properties: 93*4dd29c65SStefan Eichenberger compatible: 94*4dd29c65SStefan Eichenberger contains: 95*4dd29c65SStefan Eichenberger enum: 96*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1555 97*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1556 98*4dd29c65SStefan Eichenberger - ethernet-phy-id0022.1560 99*4dd29c65SStefan Eichenberger then: 100*4dd29c65SStefan Eichenberger properties: 101*4dd29c65SStefan Eichenberger clock-names: 102*4dd29c65SStefan Eichenberger const: rmii-ref 103*4dd29c65SStefan Eichenberger description: 104*4dd29c65SStefan Eichenberger The RMII reference input clock. Used to determine the XI input 105*4dd29c65SStefan Eichenberger clock. 106*4dd29c65SStefan Eichenberger micrel,rmii-reference-clock-select-25-mhz: 107*4dd29c65SStefan Eichenberger type: boolean 108*4dd29c65SStefan Eichenberger description: | 109*4dd29c65SStefan Eichenberger RMII Reference Clock Select bit selects 25 MHz mode 110*4dd29c65SStefan Eichenberger 111*4dd29c65SStefan Eichenberger Setting the RMII Reference Clock Select bit enables 25 MHz rather 112*4dd29c65SStefan Eichenberger than 50 MHz clock mode. 113*4dd29c65SStefan Eichenberger 114*4dd29c65SStefan EichenbergerdependentRequired: 115*4dd29c65SStefan Eichenberger micrel,rmii-reference-clock-select-25-mhz: [ clock-names ] 116*4dd29c65SStefan Eichenberger 117*4dd29c65SStefan EichenbergerunevaluatedProperties: false 118*4dd29c65SStefan Eichenberger 119*4dd29c65SStefan Eichenbergerexamples: 120*4dd29c65SStefan Eichenberger - | 121*4dd29c65SStefan Eichenberger mdio { 122*4dd29c65SStefan Eichenberger #address-cells = <1>; 123*4dd29c65SStefan Eichenberger #size-cells = <0>; 124*4dd29c65SStefan Eichenberger 125*4dd29c65SStefan Eichenberger ethernet-phy@5 { 126*4dd29c65SStefan Eichenberger compatible = "ethernet-phy-id0022.1510"; 127*4dd29c65SStefan Eichenberger reg = <5>; 128*4dd29c65SStefan Eichenberger micrel,led-mode = <2>; 129*4dd29c65SStefan Eichenberger micrel,fiber-mode; 130*4dd29c65SStefan Eichenberger }; 131*4dd29c65SStefan Eichenberger }; 132