1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/etherne 4 $id: http://devicetree.org/schemas/net/ethernet-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Ethernet Controller Common Properties !! 7 title: Ethernet Controller Generic Binding 8 8 9 maintainers: 9 maintainers: 10 - David S. Miller <davem@davemloft.net> 10 - David S. Miller <davem@davemloft.net> 11 11 12 properties: 12 properties: 13 $nodename: 13 $nodename: 14 pattern: "^ethernet(@.*)?$" 14 pattern: "^ethernet(@.*)?$" 15 15 16 label: 16 label: >> 17 $ref: /schemas/types.yaml#/definitions/string 17 description: Human readable label on a por 18 description: Human readable label on a port of a box. 18 19 19 local-mac-address: 20 local-mac-address: 20 description: 21 description: 21 Specifies the MAC address that was assig 22 Specifies the MAC address that was assigned to the network device. 22 $ref: /schemas/types.yaml#/definitions/uin 23 $ref: /schemas/types.yaml#/definitions/uint8-array 23 minItems: 6 24 minItems: 6 24 maxItems: 6 25 maxItems: 6 25 26 26 mac-address: 27 mac-address: 27 description: 28 description: 28 Specifies the MAC address that was last 29 Specifies the MAC address that was last used by the boot 29 program; should be used in cases where t 30 program; should be used in cases where the MAC address assigned 30 to the device by the boot program is dif 31 to the device by the boot program is different from the 31 local-mac-address property. 32 local-mac-address property. 32 $ref: /schemas/types.yaml#/definitions/uin 33 $ref: /schemas/types.yaml#/definitions/uint8-array 33 minItems: 6 34 minItems: 6 34 maxItems: 6 35 maxItems: 6 35 36 36 max-frame-size: 37 max-frame-size: 37 $ref: /schemas/types.yaml#/definitions/uin 38 $ref: /schemas/types.yaml#/definitions/uint32 38 description: 39 description: 39 Maximum transfer unit (IEEE defined MTU) 40 Maximum transfer unit (IEEE defined MTU), rather than the 40 maximum frame size (there\'s contradicti 41 maximum frame size (there\'s contradiction in the Devicetree 41 Specification). 42 Specification). 42 43 43 max-speed: 44 max-speed: 44 $ref: /schemas/types.yaml#/definitions/uin 45 $ref: /schemas/types.yaml#/definitions/uint32 45 description: 46 description: 46 Specifies maximum speed in Mbit/s suppor 47 Specifies maximum speed in Mbit/s supported by the device. 47 48 48 nvmem-cells: 49 nvmem-cells: 49 maxItems: 1 50 maxItems: 1 50 description: 51 description: 51 Reference to an nvmem node for the MAC a 52 Reference to an nvmem node for the MAC address 52 53 53 nvmem-cell-names: 54 nvmem-cell-names: 54 const: mac-address 55 const: mac-address 55 56 56 phy-connection-type: 57 phy-connection-type: 57 description: 58 description: 58 Specifies interface type between the Eth 59 Specifies interface type between the Ethernet device and a physical 59 layer (PHY) device. 60 layer (PHY) device. 60 enum: 61 enum: 61 # There is not a standard bus between th 62 # There is not a standard bus between the MAC and the PHY, 62 # something proprietary is being used to 63 # something proprietary is being used to embed the PHY in the 63 # MAC. 64 # MAC. 64 - internal 65 - internal 65 - mii 66 - mii 66 - gmii 67 - gmii 67 - sgmii 68 - sgmii 68 - psgmii << 69 - qsgmii 69 - qsgmii 70 - qusgmii 70 - qusgmii 71 - tbi 71 - tbi 72 - rev-mii 72 - rev-mii 73 - rmii 73 - rmii 74 - rev-rmii 74 - rev-rmii 75 - moca 75 - moca 76 76 77 # RX and TX delays are added by the MAC 77 # RX and TX delays are added by the MAC when required 78 - rgmii 78 - rgmii 79 79 80 # RGMII with internal RX and TX delays p 80 # RGMII with internal RX and TX delays provided by the PHY, 81 # the MAC should not add the RX or TX de 81 # the MAC should not add the RX or TX delays in this case 82 - rgmii-id 82 - rgmii-id 83 83 84 # RGMII with internal RX delay provided 84 # RGMII with internal RX delay provided by the PHY, the MAC 85 # should not add an RX delay in this cas 85 # should not add an RX delay in this case 86 - rgmii-rxid 86 - rgmii-rxid 87 87 88 # RGMII with internal TX delay provided 88 # RGMII with internal TX delay provided by the PHY, the MAC 89 # should not add an TX delay in this cas 89 # should not add an TX delay in this case 90 - rgmii-txid 90 - rgmii-txid 91 - rtbi 91 - rtbi 92 - smii 92 - smii 93 - xgmii 93 - xgmii 94 - trgmii 94 - trgmii 95 - 1000base-x 95 - 1000base-x 96 - 2500base-x 96 - 2500base-x 97 - 5gbase-r 97 - 5gbase-r 98 - rxaui 98 - rxaui 99 - xaui 99 - xaui 100 100 101 # 10GBASE-KR, XFI, SFI 101 # 10GBASE-KR, XFI, SFI 102 - 10gbase-kr 102 - 10gbase-kr 103 - usxgmii 103 - usxgmii 104 - 10gbase-r 104 - 10gbase-r 105 - 25gbase-r 105 - 25gbase-r 106 - 10g-qxgmii << 107 106 108 phy-mode: 107 phy-mode: 109 $ref: "#/properties/phy-connection-type" 108 $ref: "#/properties/phy-connection-type" 110 109 111 pcs-handle: 110 pcs-handle: 112 $ref: /schemas/types.yaml#/definitions/pha !! 111 $ref: /schemas/types.yaml#/definitions/phandle 113 items: << 114 maxItems: 1 << 115 description: 112 description: 116 Specifies a reference to a node represen 113 Specifies a reference to a node representing a PCS PHY device on a MDIO 117 bus to link with an external PHY (phy-ha 114 bus to link with an external PHY (phy-handle) if exists. 118 115 119 pcs-handle-names: << 120 description: << 121 The name of each PCS in pcs-handle. << 122 << 123 phy-handle: 116 phy-handle: 124 $ref: /schemas/types.yaml#/definitions/pha 117 $ref: /schemas/types.yaml#/definitions/phandle 125 description: 118 description: 126 Specifies a reference to a node represen 119 Specifies a reference to a node representing a PHY device. 127 120 128 phy: 121 phy: 129 $ref: "#/properties/phy-handle" 122 $ref: "#/properties/phy-handle" 130 deprecated: true 123 deprecated: true 131 124 132 phy-device: 125 phy-device: 133 $ref: "#/properties/phy-handle" 126 $ref: "#/properties/phy-handle" 134 deprecated: true 127 deprecated: true 135 128 136 rx-fifo-depth: 129 rx-fifo-depth: 137 $ref: /schemas/types.yaml#/definitions/uin 130 $ref: /schemas/types.yaml#/definitions/uint32 138 description: 131 description: 139 The size of the controller\'s receive fi 132 The size of the controller\'s receive fifo in bytes. This is used 140 for components that can have configurabl 133 for components that can have configurable receive fifo sizes, 141 and is useful for determining certain co 134 and is useful for determining certain configuration settings 142 such as flow control thresholds. 135 such as flow control thresholds. 143 136 144 sfp: 137 sfp: 145 $ref: /schemas/types.yaml#/definitions/pha 138 $ref: /schemas/types.yaml#/definitions/phandle 146 description: 139 description: 147 Specifies a reference to a node represen 140 Specifies a reference to a node representing a SFP cage. 148 141 149 tx-fifo-depth: 142 tx-fifo-depth: 150 $ref: /schemas/types.yaml#/definitions/uin 143 $ref: /schemas/types.yaml#/definitions/uint32 151 description: 144 description: 152 The size of the controller\'s transmit f 145 The size of the controller\'s transmit fifo in bytes. This 153 is used for components that can have con 146 is used for components that can have configurable fifo sizes. 154 147 155 managed: 148 managed: 156 description: 149 description: 157 Specifies the PHY management type. If au 150 Specifies the PHY management type. If auto is set and fixed-link 158 is not specified, it uses MDIO for manag 151 is not specified, it uses MDIO for management. 159 $ref: /schemas/types.yaml#/definitions/str 152 $ref: /schemas/types.yaml#/definitions/string 160 default: auto 153 default: auto 161 enum: 154 enum: 162 - auto 155 - auto 163 - in-band-status 156 - in-band-status 164 157 165 fixed-link: 158 fixed-link: 166 oneOf: 159 oneOf: 167 - $ref: /schemas/types.yaml#/definitions 160 - $ref: /schemas/types.yaml#/definitions/uint32-array 168 deprecated: true 161 deprecated: true 169 items: 162 items: 170 - minimum: 0 163 - minimum: 0 171 maximum: 31 164 maximum: 31 172 description: 165 description: 173 Emulated PHY ID, choose any but 166 Emulated PHY ID, choose any but unique to the all 174 specified fixed-links 167 specified fixed-links 175 168 176 - enum: [0, 1] 169 - enum: [0, 1] 177 description: 170 description: 178 Duplex configuration. 0 for half 171 Duplex configuration. 0 for half duplex or 1 for 179 full duplex 172 full duplex 180 173 181 - enum: [10, 100, 1000, 2500, 10000] 174 - enum: [10, 100, 1000, 2500, 10000] 182 description: 175 description: 183 Link speed in Mbits/sec. 176 Link speed in Mbits/sec. 184 177 185 - enum: [0, 1] 178 - enum: [0, 1] 186 description: 179 description: 187 Pause configuration. 0 for no pa 180 Pause configuration. 0 for no pause, 1 for pause 188 181 189 - enum: [0, 1] 182 - enum: [0, 1] 190 description: 183 description: 191 Asymmetric pause configuration. 184 Asymmetric pause configuration. 0 for no asymmetric 192 pause, 1 for asymmetric pause 185 pause, 1 for asymmetric pause 193 - type: object 186 - type: object 194 additionalProperties: false 187 additionalProperties: false 195 properties: 188 properties: 196 speed: 189 speed: 197 description: 190 description: 198 Link speed. 191 Link speed. 199 $ref: /schemas/types.yaml#/definit 192 $ref: /schemas/types.yaml#/definitions/uint32 200 enum: [10, 100, 1000, 2500, 10000] 193 enum: [10, 100, 1000, 2500, 10000] 201 194 202 full-duplex: 195 full-duplex: 203 $ref: /schemas/types.yaml#/definit 196 $ref: /schemas/types.yaml#/definitions/flag 204 description: 197 description: 205 Indicates that full-duplex is us 198 Indicates that full-duplex is used. When absent, half 206 duplex is assumed. 199 duplex is assumed. 207 200 208 pause: 201 pause: 209 $ref: /schemas/types.yaml#/definit !! 202 $ref: /schemas/types.yaml#definitions/flag 210 description: 203 description: 211 Indicates that pause should be e 204 Indicates that pause should be enabled. 212 205 213 asym-pause: 206 asym-pause: 214 $ref: /schemas/types.yaml#/definit 207 $ref: /schemas/types.yaml#/definitions/flag 215 description: 208 description: 216 Indicates that asym_pause should 209 Indicates that asym_pause should be enabled. 217 210 218 link-gpios: 211 link-gpios: 219 maxItems: 1 212 maxItems: 1 220 description: 213 description: 221 GPIO to determine if the link is 214 GPIO to determine if the link is up 222 215 223 required: 216 required: 224 - speed 217 - speed 225 218 226 leds: << 227 description: << 228 Describes the LEDs associated by Etherne << 229 These LEDs are not integrated in the PHY << 230 control on them. Ethernet Controller reg << 231 these defined LEDs. << 232 << 233 type: object << 234 << 235 properties: << 236 '#address-cells': << 237 const: 1 << 238 << 239 '#size-cells': << 240 const: 0 << 241 << 242 patternProperties: << 243 '^led@[a-f0-9]+$': << 244 $ref: /schemas/leds/common.yaml# << 245 << 246 properties: << 247 reg: << 248 maxItems: 1 << 249 description: << 250 This define the LED index in the << 251 driver dependent and required fo << 252 LED for the same port. << 253 << 254 required: << 255 - reg << 256 << 257 unevaluatedProperties: false << 258 << 259 additionalProperties: false << 260 << 261 dependencies: << 262 pcs-handle-names: [pcs-handle] << 263 << 264 allOf: 219 allOf: 265 - if: 220 - if: 266 properties: 221 properties: 267 phy-mode: 222 phy-mode: 268 contains: 223 contains: 269 enum: 224 enum: 270 - rgmii 225 - rgmii 271 - rgmii-rxid 226 - rgmii-rxid 272 - rgmii-txid 227 - rgmii-txid 273 - rgmii-id 228 - rgmii-id 274 then: 229 then: 275 properties: 230 properties: 276 rx-internal-delay-ps: 231 rx-internal-delay-ps: 277 description: 232 description: 278 RGMII Receive Clock Delay defined !! 233 RGMII Receive Clock Delay defined in pico seconds.This is used for 279 controllers that have configurable 234 controllers that have configurable RX internal delays. If this 280 property is present then the MAC a 235 property is present then the MAC applies the RX delay. 281 tx-internal-delay-ps: 236 tx-internal-delay-ps: 282 description: 237 description: 283 RGMII Transmit Clock Delay defined !! 238 RGMII Transmit Clock Delay defined in pico seconds.This is used for 284 controllers that have configurable 239 controllers that have configurable TX internal delays. If this 285 property is present then the MAC a 240 property is present then the MAC applies the TX delay. 286 241 287 additionalProperties: true 242 additionalProperties: true 288 243 289 ... 244 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.