18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Ethernet Switch Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Andrew Lunn <andrew@lunn.ch> 118c2ecf20Sopenharmony_ci - Florian Fainelli <f.fainelli@gmail.com> 128c2ecf20Sopenharmony_ci - Vivien Didelot <vivien.didelot@gmail.com> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cidescription: 158c2ecf20Sopenharmony_ci This binding represents Ethernet Switches which have a dedicated CPU 168c2ecf20Sopenharmony_ci port. That port is usually connected to an Ethernet Controller of the 178c2ecf20Sopenharmony_ci SoC. Such setups are typical for embedded devices. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciselect: false 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciproperties: 228c2ecf20Sopenharmony_ci $nodename: 238c2ecf20Sopenharmony_ci pattern: "^switch(@.*)?$" 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci dsa,member: 268c2ecf20Sopenharmony_ci minItems: 2 278c2ecf20Sopenharmony_ci maxItems: 2 288c2ecf20Sopenharmony_ci description: 298c2ecf20Sopenharmony_ci A two element list indicates which DSA cluster, and position within the 308c2ecf20Sopenharmony_ci cluster a switch takes. <0 0> is cluster 0, switch 0. <0 1> is cluster 0, 318c2ecf20Sopenharmony_ci switch 1. <1 0> is cluster 1, switch 0. A switch not part of any cluster 328c2ecf20Sopenharmony_ci (single device hanging off a CPU port) must not specify this property 338c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_cipatternProperties: 368c2ecf20Sopenharmony_ci "^(ethernet-)?ports$": 378c2ecf20Sopenharmony_ci type: object 388c2ecf20Sopenharmony_ci properties: 398c2ecf20Sopenharmony_ci '#address-cells': 408c2ecf20Sopenharmony_ci const: 1 418c2ecf20Sopenharmony_ci '#size-cells': 428c2ecf20Sopenharmony_ci const: 0 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci patternProperties: 458c2ecf20Sopenharmony_ci "^(ethernet-)?port@[0-9]+$": 468c2ecf20Sopenharmony_ci type: object 478c2ecf20Sopenharmony_ci description: Ethernet switch ports 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci properties: 508c2ecf20Sopenharmony_ci reg: 518c2ecf20Sopenharmony_ci description: Port number 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci label: 548c2ecf20Sopenharmony_ci description: 558c2ecf20Sopenharmony_ci Describes the label associated with this port, which will become 568c2ecf20Sopenharmony_ci the netdev name 578c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/string 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci link: 608c2ecf20Sopenharmony_ci description: 618c2ecf20Sopenharmony_ci Should be a list of phandles to other switch's DSA port. This 628c2ecf20Sopenharmony_ci port is used as the outgoing port towards the phandle ports. The 638c2ecf20Sopenharmony_ci full routing information must be given, not just the one hop 648c2ecf20Sopenharmony_ci routes to neighbouring switches 658c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/phandle-array 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci ethernet: 688c2ecf20Sopenharmony_ci description: 698c2ecf20Sopenharmony_ci Should be a phandle to a valid Ethernet device node. This host 708c2ecf20Sopenharmony_ci device is what the switch port is connected to 718c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/phandle 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci phy-handle: true 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci phy-mode: true 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci fixed-link: true 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci mac-address: true 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci required: 828c2ecf20Sopenharmony_ci - reg 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci additionalProperties: false 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_cioneOf: 878c2ecf20Sopenharmony_ci - required: 888c2ecf20Sopenharmony_ci - ports 898c2ecf20Sopenharmony_ci - required: 908c2ecf20Sopenharmony_ci - ethernet-ports 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciadditionalProperties: true 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci... 95