1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/net/ethernet-controller.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Ethernet Controller Common Properties 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotmaintainers: 10c66ec88fSEmmanuel Vadot - David S. Miller <davem@davemloft.net> 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadotproperties: 13c66ec88fSEmmanuel Vadot $nodename: 14c66ec88fSEmmanuel Vadot pattern: "^ethernet(@.*)?$" 15c66ec88fSEmmanuel Vadot 16c9ccf3a3SEmmanuel Vadot label: 17c9ccf3a3SEmmanuel Vadot description: Human readable label on a port of a box. 18c9ccf3a3SEmmanuel Vadot 19c66ec88fSEmmanuel Vadot local-mac-address: 20c66ec88fSEmmanuel Vadot description: 21c66ec88fSEmmanuel Vadot Specifies the MAC address that was assigned to the network device. 225def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8-array 23e67e8565SEmmanuel Vadot minItems: 6 24c66ec88fSEmmanuel Vadot maxItems: 6 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot mac-address: 27c66ec88fSEmmanuel Vadot description: 28c66ec88fSEmmanuel Vadot Specifies the MAC address that was last used by the boot 29c66ec88fSEmmanuel Vadot program; should be used in cases where the MAC address assigned 30c66ec88fSEmmanuel Vadot to the device by the boot program is different from the 31c66ec88fSEmmanuel Vadot local-mac-address property. 325def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8-array 33e67e8565SEmmanuel Vadot minItems: 6 34c66ec88fSEmmanuel Vadot maxItems: 6 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot max-frame-size: 375def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 38c66ec88fSEmmanuel Vadot description: 39c66ec88fSEmmanuel Vadot Maximum transfer unit (IEEE defined MTU), rather than the 40c66ec88fSEmmanuel Vadot maximum frame size (there\'s contradiction in the Devicetree 41c66ec88fSEmmanuel Vadot Specification). 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot max-speed: 445def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 45c66ec88fSEmmanuel Vadot description: 46c66ec88fSEmmanuel Vadot Specifies maximum speed in Mbit/s supported by the device. 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot nvmem-cells: 49c66ec88fSEmmanuel Vadot maxItems: 1 50c66ec88fSEmmanuel Vadot description: 51c66ec88fSEmmanuel Vadot Reference to an nvmem node for the MAC address 52c66ec88fSEmmanuel Vadot 5382ea1a07SEmmanuel Vadot nvmem-cell-names: 54c66ec88fSEmmanuel Vadot const: mac-address 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot phy-connection-type: 57c66ec88fSEmmanuel Vadot description: 58c66ec88fSEmmanuel Vadot Specifies interface type between the Ethernet device and a physical 59c66ec88fSEmmanuel Vadot layer (PHY) device. 60c66ec88fSEmmanuel Vadot enum: 61c66ec88fSEmmanuel Vadot # There is not a standard bus between the MAC and the PHY, 62c66ec88fSEmmanuel Vadot # something proprietary is being used to embed the PHY in the 63c66ec88fSEmmanuel Vadot # MAC. 64c66ec88fSEmmanuel Vadot - internal 65c66ec88fSEmmanuel Vadot - mii 66c66ec88fSEmmanuel Vadot - gmii 67c66ec88fSEmmanuel Vadot - sgmii 68aa1a8ff2SEmmanuel Vadot - psgmii 69c66ec88fSEmmanuel Vadot - qsgmii 707ef62cebSEmmanuel Vadot - qusgmii 71c66ec88fSEmmanuel Vadot - tbi 72c66ec88fSEmmanuel Vadot - rev-mii 73c66ec88fSEmmanuel Vadot - rmii 745956d97fSEmmanuel Vadot - rev-rmii 75e67e8565SEmmanuel Vadot - moca 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot # RX and TX delays are added by the MAC when required 78c66ec88fSEmmanuel Vadot - rgmii 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot # RGMII with internal RX and TX delays provided by the PHY, 81c66ec88fSEmmanuel Vadot # the MAC should not add the RX or TX delays in this case 82c66ec88fSEmmanuel Vadot - rgmii-id 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot # RGMII with internal RX delay provided by the PHY, the MAC 85c66ec88fSEmmanuel Vadot # should not add an RX delay in this case 86c66ec88fSEmmanuel Vadot - rgmii-rxid 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot # RGMII with internal TX delay provided by the PHY, the MAC 89c66ec88fSEmmanuel Vadot # should not add an TX delay in this case 90c66ec88fSEmmanuel Vadot - rgmii-txid 91c66ec88fSEmmanuel Vadot - rtbi 92c66ec88fSEmmanuel Vadot - smii 93c66ec88fSEmmanuel Vadot - xgmii 94c66ec88fSEmmanuel Vadot - trgmii 95c66ec88fSEmmanuel Vadot - 1000base-x 96c66ec88fSEmmanuel Vadot - 2500base-x 975def4c47SEmmanuel Vadot - 5gbase-r 98c66ec88fSEmmanuel Vadot - rxaui 99c66ec88fSEmmanuel Vadot - xaui 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot # 10GBASE-KR, XFI, SFI 102c66ec88fSEmmanuel Vadot - 10gbase-kr 103c66ec88fSEmmanuel Vadot - usxgmii 1045def4c47SEmmanuel Vadot - 10gbase-r 1055956d97fSEmmanuel Vadot - 25gbase-r 106*0e8011faSEmmanuel Vadot - 10g-qxgmii 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot phy-mode: 109c66ec88fSEmmanuel Vadot $ref: "#/properties/phy-connection-type" 110c66ec88fSEmmanuel Vadot 111c9ccf3a3SEmmanuel Vadot pcs-handle: 1128bab661aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 1138bab661aSEmmanuel Vadot items: 1148bab661aSEmmanuel Vadot maxItems: 1 115c9ccf3a3SEmmanuel Vadot description: 116c9ccf3a3SEmmanuel Vadot Specifies a reference to a node representing a PCS PHY device on a MDIO 117c9ccf3a3SEmmanuel Vadot bus to link with an external PHY (phy-handle) if exists. 118c9ccf3a3SEmmanuel Vadot 1198bab661aSEmmanuel Vadot pcs-handle-names: 1208bab661aSEmmanuel Vadot description: 1218bab661aSEmmanuel Vadot The name of each PCS in pcs-handle. 1228bab661aSEmmanuel Vadot 123c66ec88fSEmmanuel Vadot phy-handle: 1245def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 125c66ec88fSEmmanuel Vadot description: 126c66ec88fSEmmanuel Vadot Specifies a reference to a node representing a PHY device. 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot phy: 129c66ec88fSEmmanuel Vadot $ref: "#/properties/phy-handle" 130c66ec88fSEmmanuel Vadot deprecated: true 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel Vadot phy-device: 133c66ec88fSEmmanuel Vadot $ref: "#/properties/phy-handle" 134c66ec88fSEmmanuel Vadot deprecated: true 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot rx-fifo-depth: 1375def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 138c66ec88fSEmmanuel Vadot description: 139c66ec88fSEmmanuel Vadot The size of the controller\'s receive fifo in bytes. This is used 140c66ec88fSEmmanuel Vadot for components that can have configurable receive fifo sizes, 141c66ec88fSEmmanuel Vadot and is useful for determining certain configuration settings 142c66ec88fSEmmanuel Vadot such as flow control thresholds. 143c66ec88fSEmmanuel Vadot 144c66ec88fSEmmanuel Vadot sfp: 1455def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 146c66ec88fSEmmanuel Vadot description: 147c66ec88fSEmmanuel Vadot Specifies a reference to a node representing a SFP cage. 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot tx-fifo-depth: 1505def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 151c66ec88fSEmmanuel Vadot description: 152c66ec88fSEmmanuel Vadot The size of the controller\'s transmit fifo in bytes. This 153c66ec88fSEmmanuel Vadot is used for components that can have configurable fifo sizes. 154c66ec88fSEmmanuel Vadot 155c66ec88fSEmmanuel Vadot managed: 156c66ec88fSEmmanuel Vadot description: 157c66ec88fSEmmanuel Vadot Specifies the PHY management type. If auto is set and fixed-link 158c66ec88fSEmmanuel Vadot is not specified, it uses MDIO for management. 1595def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 160c66ec88fSEmmanuel Vadot default: auto 161c66ec88fSEmmanuel Vadot enum: 162c66ec88fSEmmanuel Vadot - auto 163c66ec88fSEmmanuel Vadot - in-band-status 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot fixed-link: 166d5b0e70fSEmmanuel Vadot oneOf: 167d5b0e70fSEmmanuel Vadot - $ref: /schemas/types.yaml#/definitions/uint32-array 168c66ec88fSEmmanuel Vadot deprecated: true 169c66ec88fSEmmanuel Vadot items: 170c66ec88fSEmmanuel Vadot - minimum: 0 171c66ec88fSEmmanuel Vadot maximum: 31 172c66ec88fSEmmanuel Vadot description: 173c66ec88fSEmmanuel Vadot Emulated PHY ID, choose any but unique to the all 174c66ec88fSEmmanuel Vadot specified fixed-links 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadot - enum: [0, 1] 177c66ec88fSEmmanuel Vadot description: 178c66ec88fSEmmanuel Vadot Duplex configuration. 0 for half duplex or 1 for 179c66ec88fSEmmanuel Vadot full duplex 180c66ec88fSEmmanuel Vadot 181e67e8565SEmmanuel Vadot - enum: [10, 100, 1000, 2500, 10000] 182c66ec88fSEmmanuel Vadot description: 183c66ec88fSEmmanuel Vadot Link speed in Mbits/sec. 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot - enum: [0, 1] 186c66ec88fSEmmanuel Vadot description: 187c66ec88fSEmmanuel Vadot Pause configuration. 0 for no pause, 1 for pause 188c66ec88fSEmmanuel Vadot 189c66ec88fSEmmanuel Vadot - enum: [0, 1] 190c66ec88fSEmmanuel Vadot description: 191c66ec88fSEmmanuel Vadot Asymmetric pause configuration. 0 for no asymmetric 192c66ec88fSEmmanuel Vadot pause, 1 for asymmetric pause 193d5b0e70fSEmmanuel Vadot - type: object 194d5b0e70fSEmmanuel Vadot additionalProperties: false 195c66ec88fSEmmanuel Vadot properties: 196c66ec88fSEmmanuel Vadot speed: 197c66ec88fSEmmanuel Vadot description: 198c66ec88fSEmmanuel Vadot Link speed. 1995def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 200e67e8565SEmmanuel Vadot enum: [10, 100, 1000, 2500, 10000] 201c66ec88fSEmmanuel Vadot 202c66ec88fSEmmanuel Vadot full-duplex: 2035def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 204c66ec88fSEmmanuel Vadot description: 205c66ec88fSEmmanuel Vadot Indicates that full-duplex is used. When absent, half 206c66ec88fSEmmanuel Vadot duplex is assumed. 207c66ec88fSEmmanuel Vadot 2085def4c47SEmmanuel Vadot pause: 209fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 210c66ec88fSEmmanuel Vadot description: 2115def4c47SEmmanuel Vadot Indicates that pause should be enabled. 2125def4c47SEmmanuel Vadot 2135def4c47SEmmanuel Vadot asym-pause: 2145def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2155def4c47SEmmanuel Vadot description: 216c66ec88fSEmmanuel Vadot Indicates that asym_pause should be enabled. 217c66ec88fSEmmanuel Vadot 218c66ec88fSEmmanuel Vadot link-gpios: 219c66ec88fSEmmanuel Vadot maxItems: 1 220c66ec88fSEmmanuel Vadot description: 221c66ec88fSEmmanuel Vadot GPIO to determine if the link is up 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot required: 224c66ec88fSEmmanuel Vadot - speed 225c66ec88fSEmmanuel Vadot 226fac71e4eSEmmanuel Vadot leds: 227fac71e4eSEmmanuel Vadot description: 228fac71e4eSEmmanuel Vadot Describes the LEDs associated by Ethernet Controller. 229fac71e4eSEmmanuel Vadot These LEDs are not integrated in the PHY and PHY doesn't have any 230fac71e4eSEmmanuel Vadot control on them. Ethernet Controller regs are used to control 231fac71e4eSEmmanuel Vadot these defined LEDs. 232fac71e4eSEmmanuel Vadot 233fac71e4eSEmmanuel Vadot type: object 234fac71e4eSEmmanuel Vadot 235fac71e4eSEmmanuel Vadot properties: 236fac71e4eSEmmanuel Vadot '#address-cells': 237fac71e4eSEmmanuel Vadot const: 1 238fac71e4eSEmmanuel Vadot 239fac71e4eSEmmanuel Vadot '#size-cells': 240fac71e4eSEmmanuel Vadot const: 0 241fac71e4eSEmmanuel Vadot 242fac71e4eSEmmanuel Vadot patternProperties: 243fac71e4eSEmmanuel Vadot '^led@[a-f0-9]+$': 244fac71e4eSEmmanuel Vadot $ref: /schemas/leds/common.yaml# 245fac71e4eSEmmanuel Vadot 246fac71e4eSEmmanuel Vadot properties: 247fac71e4eSEmmanuel Vadot reg: 248fac71e4eSEmmanuel Vadot maxItems: 1 249fac71e4eSEmmanuel Vadot description: 250fac71e4eSEmmanuel Vadot This define the LED index in the PHY or the MAC. It's really 251fac71e4eSEmmanuel Vadot driver dependent and required for ports that define multiple 252fac71e4eSEmmanuel Vadot LED for the same port. 253fac71e4eSEmmanuel Vadot 254fac71e4eSEmmanuel Vadot required: 255fac71e4eSEmmanuel Vadot - reg 256fac71e4eSEmmanuel Vadot 257fac71e4eSEmmanuel Vadot unevaluatedProperties: false 258fac71e4eSEmmanuel Vadot 259fac71e4eSEmmanuel Vadot additionalProperties: false 260fac71e4eSEmmanuel Vadot 2618bab661aSEmmanuel Vadotdependencies: 2628bab661aSEmmanuel Vadot pcs-handle-names: [pcs-handle] 2638bab661aSEmmanuel Vadot 264b97ee269SEmmanuel VadotallOf: 265b97ee269SEmmanuel Vadot - if: 266b97ee269SEmmanuel Vadot properties: 267b97ee269SEmmanuel Vadot phy-mode: 268b97ee269SEmmanuel Vadot contains: 269b97ee269SEmmanuel Vadot enum: 270b97ee269SEmmanuel Vadot - rgmii 271b97ee269SEmmanuel Vadot - rgmii-rxid 272b97ee269SEmmanuel Vadot - rgmii-txid 273b97ee269SEmmanuel Vadot - rgmii-id 274b97ee269SEmmanuel Vadot then: 275b97ee269SEmmanuel Vadot properties: 276b97ee269SEmmanuel Vadot rx-internal-delay-ps: 277b97ee269SEmmanuel Vadot description: 278b97ee269SEmmanuel Vadot RGMII Receive Clock Delay defined in pico seconds. This is used for 279b97ee269SEmmanuel Vadot controllers that have configurable RX internal delays. If this 280b97ee269SEmmanuel Vadot property is present then the MAC applies the RX delay. 281b97ee269SEmmanuel Vadot tx-internal-delay-ps: 282b97ee269SEmmanuel Vadot description: 283b97ee269SEmmanuel Vadot RGMII Transmit Clock Delay defined in pico seconds. This is used for 284b97ee269SEmmanuel Vadot controllers that have configurable TX internal delays. If this 285b97ee269SEmmanuel Vadot property is present then the MAC applies the TX delay. 286b97ee269SEmmanuel Vadot 2876be33864SEmmanuel VadotadditionalProperties: true 2886be33864SEmmanuel Vadot 289c66ec88fSEmmanuel Vadot... 290