Documentation / devicetree / bindings / net / dsa / maxlinear,mxl862xx.yaml


Based on kernel version 7.0. Page generated on 2026-04-23 09:48 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/dsa/maxlinear,mxl862xx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MaxLinear MxL862xx Ethernet Switch Family

maintainers:
  - Daniel Golle <daniel@makrotopia.org>

description:
  The MaxLinear MxL862xx switch family are multi-port Ethernet switches with
  integrated 2.5GE PHYs. The MxL86252 has five PHY ports and the MxL86282
  has eight PHY ports. Both models come with two 10 Gigabit/s SerDes
  interfaces to be used to connect external PHYs or SFP cages, or as CPU
  port.

allOf:
  - $ref: dsa.yaml#/$defs/ethernet-ports

properties:
  compatible:
    enum:
      - maxlinear,mxl86252
      - maxlinear,mxl86282

  reg:
    maxItems: 1
    description: MDIO address of the switch

  mdio:
    $ref: /schemas/net/mdio.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - mdio
  - reg

unevaluatedProperties: false

examples:
  - |
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;
 
        switch@0 {
            compatible = "maxlinear,mxl86282";
            reg = <0>;
 
            ethernet-ports {
                #address-cells = <1>;
                #size-cells = <0>;
 
                /* Microcontroller port */
                port@0 {
                    reg = <0>;
                    status = "disabled";
                };
 
                port@1 {
                    reg = <1>;
                    phy-handle = <&phy0>;
                    phy-mode = "internal";
                };
 
                port@2 {
                    reg = <2>;
                    phy-handle = <&phy1>;
                    phy-mode = "internal";
                };
 
                port@3 {
                    reg = <3>;
                    phy-handle = <&phy2>;
                    phy-mode = "internal";
                };
 
                port@4 {
                    reg = <4>;
                    phy-handle = <&phy3>;
                    phy-mode = "internal";
                };
 
                port@5 {
                    reg = <5>;
                    phy-handle = <&phy4>;
                    phy-mode = "internal";
                };
 
                port@6 {
                    reg = <6>;
                    phy-handle = <&phy5>;
                    phy-mode = "internal";
                };
 
                port@7 {
                    reg = <7>;
                    phy-handle = <&phy6>;
                    phy-mode = "internal";
                };
 
                port@8 {
                    reg = <8>;
                    phy-handle = <&phy7>;
                    phy-mode = "internal";
                };
 
                port@9 {
                    reg = <9>;
                    label = "cpu";
                    ethernet = <&gmac0>;
                    phy-mode = "usxgmii";
 
                    fixed-link {
                        speed = <10000>;
                        full-duplex;
                    };
                };
            };
 
            mdio {
                #address-cells = <1>;
                #size-cells = <0>;
 
                phy0: ethernet-phy@0 {
                    reg = <0>;
                };
 
                phy1: ethernet-phy@1 {
                    reg = <1>;
                };
 
                phy2: ethernet-phy@2 {
                    reg = <2>;
                };
 
                phy3: ethernet-phy@3 {
                    reg = <3>;
                };
 
                phy4: ethernet-phy@4 {
                    reg = <4>;
                };
 
                phy5: ethernet-phy@5 {
                    reg = <5>;
                };
 
                phy6: ethernet-phy@6 {
                    reg = <6>;
                };
 
                phy7: ethernet-phy@7 {
                    reg = <7>;
                };
            };
        };
    };