hc
2023-11-06 1622ff3442ff6aecc1f538cda437379d1f6a4a93
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
* Qualcomm Atheros QCA8xxx switch family
 
Required properties:
 
- compatible: should be one of:
    "qca,qca8334"
    "qca,qca8337"
 
- #size-cells: must be 0
- #address-cells: must be 1
 
Subnodes:
 
The integrated switch subnode should be specified according to the binding
described in dsa/dsa.txt. As the QCA8K switches do not have a N:N mapping of
port and PHY id, each subnode describing a port needs to have a valid phandle
referencing the internal PHY connected to it. The CPU port of this switch is
always port 0.
 
A CPU port node has the following optional node:
 
- fixed-link            : Fixed-link subnode describing a link to a non-MDIO
                          managed entity. See
                          Documentation/devicetree/bindings/net/fixed-link.txt
                          for details.
 
For QCA8K the 'fixed-link' sub-node supports only the following properties:
 
- 'speed' (integer, mandatory), to indicate the link speed. Accepted
  values are 10, 100 and 1000
- 'full-duplex' (boolean, optional), to indicate that full duplex is
  used. When absent, half duplex is assumed.
 
Example:
 
 
   &mdio0 {
       phy_port1: phy@0 {
           reg = <0>;
       };
 
       phy_port2: phy@1 {
           reg = <1>;
       };
 
       phy_port3: phy@2 {
           reg = <2>;
       };
 
       phy_port4: phy@3 {
           reg = <3>;
       };
 
       phy_port5: phy@4 {
           reg = <4>;
       };
 
       switch0@0 {
           compatible = "qca,qca8337";
           #address-cells = <1>;
           #size-cells = <0>;
 
           reg = <0>;
 
           ports {
               #address-cells = <1>;
               #size-cells = <0>;
               port@0 {
                   reg = <0>;
                   label = "cpu";
                   ethernet = <&gmac1>;
                   phy-mode = "rgmii";
                   fixed-link {
                       speed = 1000;
                       full-duplex;
                   };
               };
 
               port@1 {
                   reg = <1>;
                   label = "lan1";
                   phy-handle = <&phy_port1>;
               };
 
               port@2 {
                   reg = <2>;
                   label = "lan2";
                   phy-handle = <&phy_port2>;
               };
 
               port@3 {
                   reg = <3>;
                   label = "lan3";
                   phy-handle = <&phy_port3>;
               };
 
               port@4 {
                   reg = <4>;
                   label = "lan4";
                   phy-handle = <&phy_port4>;
               };
 
               port@5 {
                   reg = <5>;
                   label = "wan";
                   phy-handle = <&phy_port5>;
               };
           };
       };
   };