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