1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/ethernet-controller.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Ethernet Controller Generic Binding 8 9maintainers: 10 - David S. Miller <davem@davemloft.net> 11 12properties: 13 $nodename: 14 pattern: "^ethernet(@.*)?$" 15 16 label: 17 $ref: /schemas/types.yaml#/definitions/string 18 description: Human readable label on a port of a box. 19 20 local-mac-address: 21 description: 22 Specifies the MAC address that was assigned to the network device. 23 $ref: /schemas/types.yaml#/definitions/uint8-array 24 minItems: 6 25 maxItems: 6 26 27 mac-address: 28 description: 29 Specifies the MAC address that was last used by the boot 30 program; should be used in cases where the MAC address assigned 31 to the device by the boot program is different from the 32 local-mac-address property. 33 $ref: /schemas/types.yaml#/definitions/uint8-array 34 minItems: 6 35 maxItems: 6 36 37 max-frame-size: 38 $ref: /schemas/types.yaml#/definitions/uint32 39 description: 40 Maximum transfer unit (IEEE defined MTU), rather than the 41 maximum frame size (there\'s contradiction in the Devicetree 42 Specification). 43 44 max-speed: 45 $ref: /schemas/types.yaml#/definitions/uint32 46 description: 47 Specifies maximum speed in Mbit/s supported by the device. 48 49 nvmem-cells: 50 maxItems: 1 51 description: 52 Reference to an nvmem node for the MAC address 53 54 nvmem-cell-names: 55 const: mac-address 56 57 phy-connection-type: 58 description: 59 Specifies interface type between the Ethernet device and a physical 60 layer (PHY) device. 61 enum: 62 # There is not a standard bus between the MAC and the PHY, 63 # something proprietary is being used to embed the PHY in the 64 # MAC. 65 - internal 66 - mii 67 - gmii 68 - sgmii 69 - qsgmii 70 - tbi 71 - rev-mii 72 - rmii 73 - rev-rmii 74 - moca 75 76 # RX and TX delays are added by the MAC when required 77 - rgmii 78 79 # RGMII with internal RX and TX delays provided by the PHY, 80 # the MAC should not add the RX or TX delays in this case 81 - rgmii-id 82 83 # RGMII with internal RX delay provided by the PHY, the MAC 84 # should not add an RX delay in this case 85 - rgmii-rxid 86 87 # RGMII with internal TX delay provided by the PHY, the MAC 88 # should not add an TX delay in this case 89 - rgmii-txid 90 - rtbi 91 - smii 92 - xgmii 93 - trgmii 94 - 1000base-x 95 - 2500base-x 96 - 5gbase-r 97 - rxaui 98 - xaui 99 100 # 10GBASE-KR, XFI, SFI 101 - 10gbase-kr 102 - usxgmii 103 - 10gbase-r 104 - 25gbase-r 105 106 phy-mode: 107 $ref: "#/properties/phy-connection-type" 108 109 phy-handle: 110 $ref: /schemas/types.yaml#/definitions/phandle 111 description: 112 Specifies a reference to a node representing a PHY device. 113 114 phy: 115 $ref: "#/properties/phy-handle" 116 deprecated: true 117 118 phy-device: 119 $ref: "#/properties/phy-handle" 120 deprecated: true 121 122 rx-fifo-depth: 123 $ref: /schemas/types.yaml#/definitions/uint32 124 description: 125 The size of the controller\'s receive fifo in bytes. This is used 126 for components that can have configurable receive fifo sizes, 127 and is useful for determining certain configuration settings 128 such as flow control thresholds. 129 130 rx-internal-delay-ps: 131 description: | 132 RGMII Receive Clock Delay defined in pico seconds. 133 This is used for controllers that have configurable RX internal delays. 134 If this property is present then the MAC applies the RX delay. 135 136 sfp: 137 $ref: /schemas/types.yaml#/definitions/phandle 138 description: 139 Specifies a reference to a node representing a SFP cage. 140 141 tx-fifo-depth: 142 $ref: /schemas/types.yaml#/definitions/uint32 143 description: 144 The size of the controller\'s transmit fifo in bytes. This 145 is used for components that can have configurable fifo sizes. 146 147 tx-internal-delay-ps: 148 description: | 149 RGMII Transmit Clock Delay defined in pico seconds. 150 This is used for controllers that have configurable TX internal delays. 151 If this property is present then the MAC applies the TX delay. 152 153 managed: 154 description: 155 Specifies the PHY management type. If auto is set and fixed-link 156 is not specified, it uses MDIO for management. 157 $ref: /schemas/types.yaml#/definitions/string 158 default: auto 159 enum: 160 - auto 161 - in-band-status 162 163 fixed-link: 164 allOf: 165 - if: 166 type: array 167 then: 168 deprecated: true 169 items: 170 - minimum: 0 171 maximum: 31 172 description: 173 Emulated PHY ID, choose any but unique to the all 174 specified fixed-links 175 176 - enum: [0, 1] 177 description: 178 Duplex configuration. 0 for half duplex or 1 for 179 full duplex 180 181 - enum: [10, 100, 1000, 2500, 10000] 182 description: 183 Link speed in Mbits/sec. 184 185 - enum: [0, 1] 186 description: 187 Pause configuration. 0 for no pause, 1 for pause 188 189 - enum: [0, 1] 190 description: 191 Asymmetric pause configuration. 0 for no asymmetric 192 pause, 1 for asymmetric pause 193 194 195 - if: 196 type: object 197 then: 198 properties: 199 speed: 200 description: 201 Link speed. 202 $ref: /schemas/types.yaml#/definitions/uint32 203 enum: [10, 100, 1000, 2500, 10000] 204 205 full-duplex: 206 $ref: /schemas/types.yaml#/definitions/flag 207 description: 208 Indicates that full-duplex is used. When absent, half 209 duplex is assumed. 210 211 pause: 212 $ref: /schemas/types.yaml#definitions/flag 213 description: 214 Indicates that pause should be enabled. 215 216 asym-pause: 217 $ref: /schemas/types.yaml#/definitions/flag 218 description: 219 Indicates that asym_pause should be enabled. 220 221 link-gpios: 222 maxItems: 1 223 description: 224 GPIO to determine if the link is up 225 226 required: 227 - speed 228 229additionalProperties: true 230 231... 232