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