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 $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-array 113 items: 112 items: 114 maxItems: 1 113 maxItems: 1 115 description: 114 description: 116 Specifies a reference to a node represen 115 Specifies a reference to a node representing a PCS PHY device on a MDIO 117 bus to link with an external PHY (phy-ha 116 bus to link with an external PHY (phy-handle) if exists. 118 117 119 pcs-handle-names: 118 pcs-handle-names: 120 description: 119 description: 121 The name of each PCS in pcs-handle. 120 The name of each PCS in pcs-handle. 122 121 123 phy-handle: 122 phy-handle: 124 $ref: /schemas/types.yaml#/definitions/pha 123 $ref: /schemas/types.yaml#/definitions/phandle 125 description: 124 description: 126 Specifies a reference to a node represen 125 Specifies a reference to a node representing a PHY device. 127 126 128 phy: 127 phy: 129 $ref: "#/properties/phy-handle" 128 $ref: "#/properties/phy-handle" 130 deprecated: true 129 deprecated: true 131 130 132 phy-device: 131 phy-device: 133 $ref: "#/properties/phy-handle" 132 $ref: "#/properties/phy-handle" 134 deprecated: true 133 deprecated: true 135 134 136 rx-fifo-depth: 135 rx-fifo-depth: 137 $ref: /schemas/types.yaml#/definitions/uin 136 $ref: /schemas/types.yaml#/definitions/uint32 138 description: 137 description: 139 The size of the controller\'s receive fi 138 The size of the controller\'s receive fifo in bytes. This is used 140 for components that can have configurabl 139 for components that can have configurable receive fifo sizes, 141 and is useful for determining certain co 140 and is useful for determining certain configuration settings 142 such as flow control thresholds. 141 such as flow control thresholds. 143 142 144 sfp: 143 sfp: 145 $ref: /schemas/types.yaml#/definitions/pha 144 $ref: /schemas/types.yaml#/definitions/phandle 146 description: 145 description: 147 Specifies a reference to a node represen 146 Specifies a reference to a node representing a SFP cage. 148 147 149 tx-fifo-depth: 148 tx-fifo-depth: 150 $ref: /schemas/types.yaml#/definitions/uin 149 $ref: /schemas/types.yaml#/definitions/uint32 151 description: 150 description: 152 The size of the controller\'s transmit f 151 The size of the controller\'s transmit fifo in bytes. This 153 is used for components that can have con 152 is used for components that can have configurable fifo sizes. 154 153 155 managed: 154 managed: 156 description: 155 description: 157 Specifies the PHY management type. If au 156 Specifies the PHY management type. If auto is set and fixed-link 158 is not specified, it uses MDIO for manag 157 is not specified, it uses MDIO for management. 159 $ref: /schemas/types.yaml#/definitions/str 158 $ref: /schemas/types.yaml#/definitions/string 160 default: auto 159 default: auto 161 enum: 160 enum: 162 - auto 161 - auto 163 - in-band-status 162 - in-band-status 164 163 165 fixed-link: 164 fixed-link: 166 oneOf: 165 oneOf: 167 - $ref: /schemas/types.yaml#/definitions 166 - $ref: /schemas/types.yaml#/definitions/uint32-array 168 deprecated: true 167 deprecated: true 169 items: 168 items: 170 - minimum: 0 169 - minimum: 0 171 maximum: 31 170 maximum: 31 172 description: 171 description: 173 Emulated PHY ID, choose any but 172 Emulated PHY ID, choose any but unique to the all 174 specified fixed-links 173 specified fixed-links 175 174 176 - enum: [0, 1] 175 - enum: [0, 1] 177 description: 176 description: 178 Duplex configuration. 0 for half 177 Duplex configuration. 0 for half duplex or 1 for 179 full duplex 178 full duplex 180 179 181 - enum: [10, 100, 1000, 2500, 10000] 180 - enum: [10, 100, 1000, 2500, 10000] 182 description: 181 description: 183 Link speed in Mbits/sec. 182 Link speed in Mbits/sec. 184 183 185 - enum: [0, 1] 184 - enum: [0, 1] 186 description: 185 description: 187 Pause configuration. 0 for no pa 186 Pause configuration. 0 for no pause, 1 for pause 188 187 189 - enum: [0, 1] 188 - enum: [0, 1] 190 description: 189 description: 191 Asymmetric pause configuration. 190 Asymmetric pause configuration. 0 for no asymmetric 192 pause, 1 for asymmetric pause 191 pause, 1 for asymmetric pause 193 - type: object 192 - type: object 194 additionalProperties: false 193 additionalProperties: false 195 properties: 194 properties: 196 speed: 195 speed: 197 description: 196 description: 198 Link speed. 197 Link speed. 199 $ref: /schemas/types.yaml#/definit 198 $ref: /schemas/types.yaml#/definitions/uint32 200 enum: [10, 100, 1000, 2500, 10000] 199 enum: [10, 100, 1000, 2500, 10000] 201 200 202 full-duplex: 201 full-duplex: 203 $ref: /schemas/types.yaml#/definit 202 $ref: /schemas/types.yaml#/definitions/flag 204 description: 203 description: 205 Indicates that full-duplex is us 204 Indicates that full-duplex is used. When absent, half 206 duplex is assumed. 205 duplex is assumed. 207 206 208 pause: 207 pause: 209 $ref: /schemas/types.yaml#/definit 208 $ref: /schemas/types.yaml#/definitions/flag 210 description: 209 description: 211 Indicates that pause should be e 210 Indicates that pause should be enabled. 212 211 213 asym-pause: 212 asym-pause: 214 $ref: /schemas/types.yaml#/definit 213 $ref: /schemas/types.yaml#/definitions/flag 215 description: 214 description: 216 Indicates that asym_pause should 215 Indicates that asym_pause should be enabled. 217 216 218 link-gpios: 217 link-gpios: 219 maxItems: 1 218 maxItems: 1 220 description: 219 description: 221 GPIO to determine if the link is 220 GPIO to determine if the link is up 222 221 223 required: 222 required: 224 - speed 223 - speed 225 224 226 leds: 225 leds: 227 description: 226 description: 228 Describes the LEDs associated by Etherne 227 Describes the LEDs associated by Ethernet Controller. 229 These LEDs are not integrated in the PHY 228 These LEDs are not integrated in the PHY and PHY doesn't have any 230 control on them. Ethernet Controller reg 229 control on them. Ethernet Controller regs are used to control 231 these defined LEDs. 230 these defined LEDs. 232 231 233 type: object 232 type: object 234 233 235 properties: 234 properties: 236 '#address-cells': 235 '#address-cells': 237 const: 1 236 const: 1 238 237 239 '#size-cells': 238 '#size-cells': 240 const: 0 239 const: 0 241 240 242 patternProperties: 241 patternProperties: 243 '^led@[a-f0-9]+$': 242 '^led@[a-f0-9]+$': 244 $ref: /schemas/leds/common.yaml# 243 $ref: /schemas/leds/common.yaml# 245 244 246 properties: 245 properties: 247 reg: 246 reg: 248 maxItems: 1 247 maxItems: 1 249 description: 248 description: 250 This define the LED index in the 249 This define the LED index in the PHY or the MAC. It's really 251 driver dependent and required fo 250 driver dependent and required for ports that define multiple 252 LED for the same port. 251 LED for the same port. 253 252 254 required: 253 required: 255 - reg 254 - reg 256 255 257 unevaluatedProperties: false 256 unevaluatedProperties: false 258 257 259 additionalProperties: false 258 additionalProperties: false 260 259 261 dependencies: 260 dependencies: 262 pcs-handle-names: [pcs-handle] 261 pcs-handle-names: [pcs-handle] 263 262 264 allOf: 263 allOf: 265 - if: 264 - if: 266 properties: 265 properties: 267 phy-mode: 266 phy-mode: 268 contains: 267 contains: 269 enum: 268 enum: 270 - rgmii 269 - rgmii 271 - rgmii-rxid 270 - rgmii-rxid 272 - rgmii-txid 271 - rgmii-txid 273 - rgmii-id 272 - rgmii-id 274 then: 273 then: 275 properties: 274 properties: 276 rx-internal-delay-ps: 275 rx-internal-delay-ps: 277 description: 276 description: 278 RGMII Receive Clock Delay defined !! 277 RGMII Receive Clock Delay defined in pico seconds.This is used for 279 controllers that have configurable 278 controllers that have configurable RX internal delays. If this 280 property is present then the MAC a 279 property is present then the MAC applies the RX delay. 281 tx-internal-delay-ps: 280 tx-internal-delay-ps: 282 description: 281 description: 283 RGMII Transmit Clock Delay defined !! 282 RGMII Transmit Clock Delay defined in pico seconds.This is used for 284 controllers that have configurable 283 controllers that have configurable TX internal delays. If this 285 property is present then the MAC a 284 property is present then the MAC applies the TX delay. 286 285 287 additionalProperties: true 286 additionalProperties: true 288 287 289 ... 288 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.