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