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