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: >> 17 allOf: >> 18 - $ref: /schemas/types.yaml#definitions/uint8-array >> 19 - items: >> 20 - minItems: 6 >> 21 maxItems: 6 20 description: 22 description: 21 Specifies the MAC address that was assig 23 Specifies the MAC address that was assigned to the network device. 22 $ref: /schemas/types.yaml#/definitions/uin << 23 minItems: 6 << 24 maxItems: 6 << 25 24 26 mac-address: 25 mac-address: >> 26 allOf: >> 27 - $ref: /schemas/types.yaml#definitions/uint8-array >> 28 - items: >> 29 - minItems: 6 >> 30 maxItems: 6 27 description: 31 description: 28 Specifies the MAC address that was last 32 Specifies the MAC address that was last used by the boot 29 program; should be used in cases where t 33 program; should be used in cases where the MAC address assigned 30 to the device by the boot program is dif 34 to the device by the boot program is different from the 31 local-mac-address property. 35 local-mac-address property. 32 $ref: /schemas/types.yaml#/definitions/uin << 33 minItems: 6 << 34 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-cells-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 Operation mode of the PHY interface 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 << 69 - qsgmii 68 - qsgmii 70 - qusgmii << 71 - tbi 69 - tbi 72 - rev-mii 70 - rev-mii 73 - rmii 71 - rmii 74 - rev-rmii << 75 - moca << 76 72 77 # RX and TX delays are added by the MAC 73 # RX and TX delays are added by the MAC when required 78 - rgmii 74 - rgmii 79 75 80 # RGMII with internal RX and TX delays p 76 # RGMII with internal RX and TX delays provided by the PHY, 81 # the MAC should not add the RX or TX de 77 # the MAC should not add the RX or TX delays in this case 82 - rgmii-id 78 - rgmii-id 83 79 84 # RGMII with internal RX delay provided 80 # RGMII with internal RX delay provided by the PHY, the MAC 85 # should not add an RX delay in this cas 81 # should not add an RX delay in this case 86 - rgmii-rxid 82 - rgmii-rxid 87 83 88 # RGMII with internal TX delay provided 84 # RGMII with internal TX delay provided by the PHY, the MAC 89 # should not add an TX delay in this cas 85 # should not add an TX delay in this case 90 - rgmii-txid 86 - rgmii-txid 91 - rtbi 87 - rtbi 92 - smii 88 - smii 93 - xgmii 89 - xgmii 94 - trgmii 90 - trgmii 95 - 1000base-x 91 - 1000base-x 96 - 2500base-x 92 - 2500base-x 97 - 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 << 105 - 25gbase-r << 106 - 10g-qxgmii << 107 99 108 phy-mode: 100 phy-mode: 109 $ref: "#/properties/phy-connection-type" 101 $ref: "#/properties/phy-connection-type" 110 102 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: 103 phy-handle: 124 $ref: /schemas/types.yaml#/definitions/pha !! 104 $ref: /schemas/types.yaml#definitions/phandle 125 description: 105 description: 126 Specifies a reference to a node represen 106 Specifies a reference to a node representing a PHY device. 127 107 128 phy: 108 phy: 129 $ref: "#/properties/phy-handle" 109 $ref: "#/properties/phy-handle" 130 deprecated: true 110 deprecated: true 131 111 132 phy-device: 112 phy-device: 133 $ref: "#/properties/phy-handle" 113 $ref: "#/properties/phy-handle" 134 deprecated: true 114 deprecated: true 135 115 136 rx-fifo-depth: 116 rx-fifo-depth: 137 $ref: /schemas/types.yaml#/definitions/uin !! 117 $ref: /schemas/types.yaml#definitions/uint32 138 description: 118 description: 139 The size of the controller\'s receive fi 119 The size of the controller\'s receive fifo in bytes. This is used 140 for components that can have configurabl 120 for components that can have configurable receive fifo sizes, 141 and is useful for determining certain co 121 and is useful for determining certain configuration settings 142 such as flow control thresholds. 122 such as flow control thresholds. 143 123 144 sfp: 124 sfp: 145 $ref: /schemas/types.yaml#/definitions/pha !! 125 $ref: /schemas/types.yaml#definitions/phandle 146 description: 126 description: 147 Specifies a reference to a node represen 127 Specifies a reference to a node representing a SFP cage. 148 128 149 tx-fifo-depth: 129 tx-fifo-depth: 150 $ref: /schemas/types.yaml#/definitions/uin !! 130 $ref: /schemas/types.yaml#definitions/uint32 151 description: 131 description: 152 The size of the controller\'s transmit f 132 The size of the controller\'s transmit fifo in bytes. This 153 is used for components that can have con 133 is used for components that can have configurable fifo sizes. 154 134 155 managed: 135 managed: >> 136 allOf: >> 137 - $ref: /schemas/types.yaml#definitions/string >> 138 - default: auto >> 139 enum: >> 140 - auto >> 141 - in-band-status 156 description: 142 description: 157 Specifies the PHY management type. If au 143 Specifies the PHY management type. If auto is set and fixed-link 158 is not specified, it uses MDIO for manag 144 is not specified, it uses MDIO for management. 159 $ref: /schemas/types.yaml#/definitions/str << 160 default: auto << 161 enum: << 162 - auto << 163 - in-band-status << 164 145 165 fixed-link: 146 fixed-link: 166 oneOf: !! 147 allOf: 167 - $ref: /schemas/types.yaml#/definitions !! 148 - if: 168 deprecated: true !! 149 type: array 169 items: !! 150 then: 170 - minimum: 0 !! 151 deprecated: true 171 maximum: 31 !! 152 minItems: 1 172 description: !! 153 maxItems: 1 173 Emulated PHY ID, choose any but !! 154 items: 174 specified fixed-links !! 155 items: 175 !! 156 - minimum: 0 176 - enum: [0, 1] !! 157 maximum: 31 177 description: !! 158 description: 178 Duplex configuration. 0 for half !! 159 Emulated PHY ID, choose any but unique to the all 179 full duplex !! 160 specified fixed-links 180 !! 161 181 - enum: [10, 100, 1000, 2500, 10000] !! 162 - enum: [0, 1] 182 description: !! 163 description: 183 Link speed in Mbits/sec. !! 164 Duplex configuration. 0 for half duplex or 1 for 184 !! 165 full duplex 185 - enum: [0, 1] !! 166 186 description: !! 167 - enum: [10, 100, 1000] 187 Pause configuration. 0 for no pa !! 168 description: 188 !! 169 Link speed in Mbits/sec. 189 - enum: [0, 1] !! 170 190 description: !! 171 - enum: [0, 1] 191 Asymmetric pause configuration. !! 172 description: 192 pause, 1 for asymmetric pause !! 173 Pause configuration. 0 for no pause, 1 for pause 193 - type: object !! 174 194 additionalProperties: false !! 175 - enum: [0, 1] 195 properties: !! 176 description: 196 speed: !! 177 Asymmetric pause configuration. 0 for no asymmetric 197 description: !! 178 pause, 1 for asymmetric pause 198 Link speed. !! 179 199 $ref: /schemas/types.yaml#/definit !! 180 200 enum: [10, 100, 1000, 2500, 10000] !! 181 - if: 201 !! 182 type: object 202 full-duplex: !! 183 then: 203 $ref: /schemas/types.yaml#/definit !! 184 properties: 204 description: !! 185 speed: 205 Indicates that full-duplex is us !! 186 allOf: 206 duplex is assumed. !! 187 - $ref: /schemas/types.yaml#definitions/uint32 207 !! 188 - enum: [10, 100, 1000] 208 pause: !! 189 description: 209 $ref: /schemas/types.yaml#/definit !! 190 Link speed. 210 description: !! 191 211 Indicates that pause should be e !! 192 full-duplex: 212 !! 193 $ref: /schemas/types.yaml#definitions/flag 213 asym-pause: !! 194 description: 214 $ref: /schemas/types.yaml#/definit !! 195 Indicates that full-duplex is used. When absent, half 215 description: !! 196 duplex is assumed. 216 Indicates that asym_pause should !! 197 217 !! 198 asym-pause: 218 link-gpios: !! 199 $ref: /schemas/types.yaml#definitions/flag 219 maxItems: 1 !! 200 description: 220 description: !! 201 Indicates that asym_pause should be enabled. 221 GPIO to determine if the link is !! 202 222 !! 203 link-gpios: 223 required: !! 204 maxItems: 1 224 - speed !! 205 description: 225 !! 206 GPIO to determine if the link is up 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: << 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 207 287 additionalProperties: true !! 208 required: >> 209 - speed 288 210 289 ... 211 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.