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 << 71 - tbi 70 - tbi 72 - rev-mii 71 - rev-mii 73 - rmii 72 - rmii 74 - rev-rmii 73 - rev-rmii 75 - moca 74 - moca 76 75 77 # RX and TX delays are added by the MAC 76 # RX and TX delays are added by the MAC when required 78 - rgmii 77 - rgmii 79 78 80 # RGMII with internal RX and TX delays p 79 # RGMII with internal RX and TX delays provided by the PHY, 81 # the MAC should not add the RX or TX de 80 # the MAC should not add the RX or TX delays in this case 82 - rgmii-id 81 - rgmii-id 83 82 84 # RGMII with internal RX delay provided 83 # RGMII with internal RX delay provided by the PHY, the MAC 85 # should not add an RX delay in this cas 84 # should not add an RX delay in this case 86 - rgmii-rxid 85 - rgmii-rxid 87 86 88 # RGMII with internal TX delay provided 87 # RGMII with internal TX delay provided by the PHY, the MAC 89 # should not add an TX delay in this cas 88 # should not add an TX delay in this case 90 - rgmii-txid 89 - rgmii-txid 91 - rtbi 90 - rtbi 92 - smii 91 - smii 93 - xgmii 92 - xgmii 94 - trgmii 93 - trgmii 95 - 1000base-x 94 - 1000base-x 96 - 2500base-x 95 - 2500base-x 97 - 5gbase-r 96 - 5gbase-r 98 - rxaui 97 - rxaui 99 - xaui 98 - xaui 100 99 101 # 10GBASE-KR, XFI, SFI 100 # 10GBASE-KR, XFI, SFI 102 - 10gbase-kr 101 - 10gbase-kr 103 - usxgmii 102 - usxgmii 104 - 10gbase-r 103 - 10gbase-r 105 - 25gbase-r 104 - 25gbase-r 106 - 10g-qxgmii << 107 105 108 phy-mode: 106 phy-mode: 109 $ref: "#/properties/phy-connection-type" 107 $ref: "#/properties/phy-connection-type" 110 108 111 pcs-handle: 109 pcs-handle: 112 $ref: /schemas/types.yaml#/definitions/pha !! 110 $ref: /schemas/types.yaml#/definitions/phandle 113 items: << 114 maxItems: 1 << 115 description: 111 description: 116 Specifies a reference to a node represen 112 Specifies a reference to a node representing a PCS PHY device on a MDIO 117 bus to link with an external PHY (phy-ha 113 bus to link with an external PHY (phy-handle) if exists. 118 114 119 pcs-handle-names: << 120 description: << 121 The name of each PCS in pcs-handle. << 122 << 123 phy-handle: 115 phy-handle: 124 $ref: /schemas/types.yaml#/definitions/pha 116 $ref: /schemas/types.yaml#/definitions/phandle 125 description: 117 description: 126 Specifies a reference to a node represen 118 Specifies a reference to a node representing a PHY device. 127 119 128 phy: 120 phy: 129 $ref: "#/properties/phy-handle" 121 $ref: "#/properties/phy-handle" 130 deprecated: true 122 deprecated: true 131 123 132 phy-device: 124 phy-device: 133 $ref: "#/properties/phy-handle" 125 $ref: "#/properties/phy-handle" 134 deprecated: true 126 deprecated: true 135 127 136 rx-fifo-depth: 128 rx-fifo-depth: 137 $ref: /schemas/types.yaml#/definitions/uin 129 $ref: /schemas/types.yaml#/definitions/uint32 138 description: 130 description: 139 The size of the controller\'s receive fi 131 The size of the controller\'s receive fifo in bytes. This is used 140 for components that can have configurabl 132 for components that can have configurable receive fifo sizes, 141 and is useful for determining certain co 133 and is useful for determining certain configuration settings 142 such as flow control thresholds. 134 such as flow control thresholds. 143 135 >> 136 rx-internal-delay-ps: >> 137 description: | >> 138 RGMII Receive Clock Delay defined in pico seconds. >> 139 This is used for controllers that have configurable RX internal delays. >> 140 If this property is present then the MAC applies the RX delay. >> 141 144 sfp: 142 sfp: 145 $ref: /schemas/types.yaml#/definitions/pha 143 $ref: /schemas/types.yaml#/definitions/phandle 146 description: 144 description: 147 Specifies a reference to a node represen 145 Specifies a reference to a node representing a SFP cage. 148 146 149 tx-fifo-depth: 147 tx-fifo-depth: 150 $ref: /schemas/types.yaml#/definitions/uin 148 $ref: /schemas/types.yaml#/definitions/uint32 151 description: 149 description: 152 The size of the controller\'s transmit f 150 The size of the controller\'s transmit fifo in bytes. This 153 is used for components that can have con 151 is used for components that can have configurable fifo sizes. 154 152 >> 153 tx-internal-delay-ps: >> 154 description: | >> 155 RGMII Transmit Clock Delay defined in pico seconds. >> 156 This is used for controllers that have configurable TX internal delays. >> 157 If this property is present then the MAC applies the TX delay. >> 158 155 managed: 159 managed: 156 description: 160 description: 157 Specifies the PHY management type. If au 161 Specifies the PHY management type. If auto is set and fixed-link 158 is not specified, it uses MDIO for manag 162 is not specified, it uses MDIO for management. 159 $ref: /schemas/types.yaml#/definitions/str 163 $ref: /schemas/types.yaml#/definitions/string 160 default: auto 164 default: auto 161 enum: 165 enum: 162 - auto 166 - auto 163 - in-band-status 167 - in-band-status 164 168 165 fixed-link: 169 fixed-link: 166 oneOf: !! 170 allOf: 167 - $ref: /schemas/types.yaml#/definitions !! 171 - if: 168 deprecated: true !! 172 type: array 169 items: !! 173 then: 170 - minimum: 0 !! 174 deprecated: true 171 maximum: 31 !! 175 items: 172 description: !! 176 - minimum: 0 173 Emulated PHY ID, choose any but !! 177 maximum: 31 174 specified fixed-links !! 178 description: 175 !! 179 Emulated PHY ID, choose any but unique to the all 176 - enum: [0, 1] !! 180 specified fixed-links 177 description: !! 181 178 Duplex configuration. 0 for half !! 182 - enum: [0, 1] 179 full duplex !! 183 description: 180 !! 184 Duplex configuration. 0 for half duplex or 1 for 181 - enum: [10, 100, 1000, 2500, 10000] !! 185 full duplex 182 description: !! 186 183 Link speed in Mbits/sec. !! 187 - enum: [10, 100, 1000, 2500, 10000] 184 !! 188 description: 185 - enum: [0, 1] !! 189 Link speed in Mbits/sec. 186 description: !! 190 187 Pause configuration. 0 for no pa !! 191 - enum: [0, 1] 188 !! 192 description: 189 - enum: [0, 1] !! 193 Pause configuration. 0 for no pause, 1 for pause 190 description: !! 194 191 Asymmetric pause configuration. !! 195 - enum: [0, 1] 192 pause, 1 for asymmetric pause !! 196 description: 193 - type: object !! 197 Asymmetric pause configuration. 0 for no asymmetric 194 additionalProperties: false !! 198 pause, 1 for asymmetric pause 195 properties: !! 199 196 speed: !! 200 197 description: !! 201 - if: 198 Link speed. !! 202 type: object 199 $ref: /schemas/types.yaml#/definit !! 203 then: 200 enum: [10, 100, 1000, 2500, 10000] !! 204 properties: 201 !! 205 speed: 202 full-duplex: !! 206 description: 203 $ref: /schemas/types.yaml#/definit !! 207 Link speed. 204 description: !! 208 $ref: /schemas/types.yaml#/definitions/uint32 205 Indicates that full-duplex is us !! 209 enum: [10, 100, 1000, 2500, 10000] 206 duplex is assumed. !! 210 207 !! 211 full-duplex: 208 pause: !! 212 $ref: /schemas/types.yaml#/definitions/flag 209 $ref: /schemas/types.yaml#/definit !! 213 description: 210 description: !! 214 Indicates that full-duplex is used. When absent, half 211 Indicates that pause should be e !! 215 duplex is assumed. 212 !! 216 213 asym-pause: !! 217 pause: 214 $ref: /schemas/types.yaml#/definit !! 218 $ref: /schemas/types.yaml#definitions/flag 215 description: !! 219 description: 216 Indicates that asym_pause should !! 220 Indicates that pause should be enabled. 217 !! 221 218 link-gpios: !! 222 asym-pause: 219 maxItems: 1 !! 223 $ref: /schemas/types.yaml#/definitions/flag 220 description: !! 224 description: 221 GPIO to determine if the link is !! 225 Indicates that asym_pause should be enabled. 222 !! 226 223 required: !! 227 link-gpios: 224 - speed !! 228 maxItems: 1 225 !! 229 description: 226 leds: !! 230 GPIO to determine if the link is up 227 description: !! 231 228 Describes the LEDs associated by Etherne !! 232 required: 229 These LEDs are not integrated in the PHY !! 233 - speed 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: << 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 234 287 additionalProperties: true 235 additionalProperties: true 288 236 289 ... 237 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.