]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/net/dsa/brcm,sf2.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / net / dsa / brcm,sf2.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/dsa/brcm,sf2.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom Starfighter 2 integrated switch
8
9 maintainers:
10 - Florian Fainelli <f.fainelli@gmail.com>
11
12 properties:
13 compatible:
14 items:
15 - enum:
16 - brcm,bcm4908-switch
17 - brcm,bcm7278-switch-v4.0
18 - brcm,bcm7278-switch-v4.8
19 - brcm,bcm7445-switch-v4.0
20
21 reg:
22 minItems: 6
23 maxItems: 6
24
25 reg-names:
26 items:
27 - const: core
28 - const: reg
29 - const: intrl2_0
30 - const: intrl2_1
31 - const: fcb
32 - const: acb
33
34 interrupts:
35 minItems: 2
36 maxItems: 2
37
38 interrupt-names:
39 items:
40 - const: switch_0
41 - const: switch_1
42
43 resets:
44 maxItems: 1
45
46 reset-names:
47 const: switch
48
49 clocks:
50 minItems: 1
51 items:
52 - description: switch's main clock
53 - description: dividing of the switch core clock
54
55 clock-names:
56 minItems: 1
57 items:
58 - const: sw_switch
59 - const: sw_switch_mdiv
60
61 brcm,num-gphy:
62 $ref: /schemas/types.yaml#/definitions/uint32
63 description: maximum number of integrated gigabit PHYs in the switch
64
65 brcm,num-rgmii-ports:
66 $ref: /schemas/types.yaml#/definitions/uint32
67 description: maximum number of RGMII interfaces supported by the switch
68
69 brcm,fcb-pause-override:
70 description: if present indicates that the switch supports Failover Control
71 Block pause override capability
72 type: boolean
73
74 brcm,acb-packets-inflight:
75 description: if present indicates that the switch Admission Control Block
76 supports reporting the number of packets in-flight in a switch queue
77 type: boolean
78
79 ports:
80 type: object
81 additionalProperties: true
82
83 patternProperties:
84 '^port@[0-9a-f]$':
85 $ref: dsa-port.yaml#
86 unevaluatedProperties: false
87
88 properties:
89 brcm,use-bcm-hdr:
90 description: if present, indicates that the switch port has Broadcom
91 tags enabled (per-packet metadata)
92 type: boolean
93
94 required:
95 - reg
96 - interrupts
97
98 allOf:
99 - $ref: dsa.yaml#
100 - if:
101 properties:
102 compatible:
103 contains:
104 enum:
105 - brcm,bcm7278-switch-v4.0
106 - brcm,bcm7278-switch-v4.8
107 then:
108 properties:
109 clocks:
110 minItems: 1
111 maxItems: 1
112 clock-names:
113 minItems: 1
114 maxItems: 1
115 required:
116 - clocks
117 - clock-names
118 - if:
119 properties:
120 compatible:
121 contains:
122 const: brcm,bcm7445-switch-v4.0
123 then:
124 properties:
125 clocks:
126 minItems: 2
127 maxItems: 2
128 clock-names:
129 minItems: 2
130 maxItems: 2
131 required:
132 - clocks
133 - clock-names
134
135 additionalProperties: false
136
137 examples:
138 - |
139 switch@f0b00000 {
140 compatible = "brcm,bcm7445-switch-v4.0";
141 reg = <0xf0b00000 0x40000>,
142 <0xf0b40000 0x110>,
143 <0xf0b40340 0x30>,
144 <0xf0b40380 0x30>,
145 <0xf0b40400 0x34>,
146 <0xf0b40600 0x208>;
147 reg-names = "core", "reg", "intrl2_0", "intrl2_1",
148 "fcb", "acb";
149 interrupts = <0 0x18 0>,
150 <0 0x19 0>;
151 clocks = <&sw_switch>, <&sw_switch_mdiv>;
152 clock-names = "sw_switch", "sw_switch_mdiv";
153 brcm,num-gphy = <1>;
154 brcm,num-rgmii-ports = <2>;
155 brcm,fcb-pause-override;
156 brcm,acb-packets-inflight;
157
158 ports {
159 #address-cells = <1>;
160 #size-cells = <0>;
161
162 port@0 {
163 label = "gphy";
164 reg = <0>;
165 };
166 };
167 };