1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/mscc-phy-vsc8531.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Microsemi VSC8531 Gigabit Ethernet PHY 8 9maintainers: 10 - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> 11 12description: 13 The VSC8531 is a Gigabit Ethernet PHY with configurable MAC interface 14 drive strength and LED modes. 15 16allOf: 17 - $ref: ethernet-phy.yaml# 18 19select: 20 properties: 21 compatible: 22 contains: 23 enum: 24 - ethernet-phy-id0007.0570 # VSC8531 25 - ethernet-phy-id0007.0772 # VSC8541 26 required: 27 - compatible 28 29properties: 30 compatible: 31 items: 32 - enum: 33 - ethernet-phy-id0007.0570 # VSC8531 34 - ethernet-phy-id0007.0772 # VSC8541 35 - const: ethernet-phy-ieee802.3-c22 36 37 vsc8531,vddmac: 38 $ref: /schemas/types.yaml#/definitions/uint32 39 description: 40 The VDDMAC voltage in millivolts. This property is used in combination 41 with the edge-slowdown property to control the drive strength of the 42 MAC interface output signals. 43 enum: [3300, 2500, 1800, 1500] 44 default: 3300 45 46 vsc8531,edge-slowdown: 47 $ref: /schemas/types.yaml#/definitions/uint32 48 description: > 49 Percentage by which the edge rate should be slowed down relative to 50 the fastest possible edge time. This setting helps reduce electromagnetic 51 interference (EMI) by adjusting the drive strength of the MAC interface 52 output signals. Valid values depend on the vddmac voltage setting 53 according to the edge rate change table in the datasheet. 54 55 - When vsc8531,vddmac = 3300 mV: allowed values are 0, 2, 4, 7, 10, 17, 29, and 53. 56 (Recommended: 7) 57 - When vsc8531,vddmac = 2500 mV: allowed values are 0, 3, 6, 10, 14, 23, 37, and 63. 58 (Recommended: 10) 59 - When vsc8531,vddmac = 1800 mV: allowed values are 0, 5, 9, 16, 23, 35, 52, and 76. 60 (Recommended: 0) 61 - When vsc8531,vddmac = 1500 mV: allowed values are 0, 6, 14, 21, 29, 42, 58, and 77. 62 (Recommended: 0) 63 enum: [0, 2, 3, 4, 5, 6, 7, 9, 10, 14, 16, 17, 21, 23, 29, 35, 37, 42, 52, 53, 58, 63, 76, 77] 64 default: 0 65 66 vsc8531,led-0-mode: 67 $ref: /schemas/types.yaml#/definitions/uint32 68 description: LED[0] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h 69 for available modes. 70 minimum: 0 71 maximum: 15 72 default: 1 73 74 vsc8531,led-1-mode: 75 $ref: /schemas/types.yaml#/definitions/uint32 76 description: LED[1] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h 77 for available modes. 78 minimum: 0 79 maximum: 15 80 default: 2 81 82 vsc8531,led-2-mode: 83 $ref: /schemas/types.yaml#/definitions/uint32 84 description: LED[2] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h 85 for available modes. 86 minimum: 0 87 maximum: 15 88 default: 0 89 90 vsc8531,led-3-mode: 91 $ref: /schemas/types.yaml#/definitions/uint32 92 description: LED[3] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h 93 for available modes. 94 minimum: 0 95 maximum: 15 96 default: 8 97 98 load-save-gpios: 99 description: GPIO phandle used for the load/save operation of the PTP hardware 100 clock (PHC). 101 maxItems: 1 102 103dependencies: 104 vsc8531,edge-slowdown: 105 - vsc8531,vddmac 106 107required: 108 - compatible 109 - reg 110 111unevaluatedProperties: false 112 113examples: 114 - | 115 #include <dt-bindings/gpio/gpio.h> 116 #include <dt-bindings/net/mscc-phy-vsc8531.h> 117 118 mdio { 119 #address-cells = <1>; 120 #size-cells = <0>; 121 122 ethernet-phy@0 { 123 compatible = "ethernet-phy-id0007.0772", "ethernet-phy-ieee802.3-c22"; 124 reg = <0>; 125 vsc8531,vddmac = <3300>; 126 vsc8531,edge-slowdown = <7>; 127 vsc8531,led-0-mode = <VSC8531_LINK_1000_ACTIVITY>; 128 vsc8531,led-1-mode = <VSC8531_LINK_100_ACTIVITY>; 129 load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>; 130 }; 131 }; 132