@@ -167,56 +167,238 @@ properties:
167
167
snps,mtl-rx-config :
168
168
$ref : /schemas/types.yaml#/definitions/phandle
169
169
description :
170
- Multiple RX Queues parameters. Phandle to a node that can
171
- contain the following properties
172
- * snps,rx-queues-to-use, number of RX queues to be used in the
173
- driver
174
- * Choose one of these RX scheduling algorithms
175
- * snps,rx-sched-sp, Strict priority
176
- * snps,rx-sched-wsp, Weighted Strict priority
177
- * For each RX queue
178
- * Choose one of these modes
179
- * snps,dcb-algorithm, Queue to be enabled as DCB
180
- * snps,avb-algorithm, Queue to be enabled as AVB
181
- * snps,map-to-dma-channel, Channel to map
182
- * Specifiy specific packet routing
183
- * snps,route-avcp, AV Untagged Control packets
184
- * snps,route-ptp, PTP Packets
185
- * snps,route-dcbcp, DCB Control Packets
186
- * snps,route-up, Untagged Packets
187
- * snps,route-multi-broad, Multicast & Broadcast Packets
188
- * snps,priority, bitmask of the tagged frames priorities assigned to
189
- the queue
170
+ Multiple RX Queues parameters. Phandle to a node that
171
+ implements the 'rx-queues-config' object described in
172
+ this binding.
173
+
174
+ rx-queues-config :
175
+ type : object
176
+ properties :
177
+ snps,rx-queues-to-use :
178
+ $ref : /schemas/types.yaml#/definitions/uint32
179
+ description : number of RX queues to be used in the driver
180
+ snps,rx-sched-sp :
181
+ type : boolean
182
+ description : Strict priority
183
+ snps,rx-sched-wsp :
184
+ type : boolean
185
+ description : Weighted Strict priority
186
+ allOf :
187
+ - if :
188
+ required :
189
+ - snps,rx-sched-sp
190
+ then :
191
+ properties :
192
+ snps,rx-sched-wsp : false
193
+ - if :
194
+ required :
195
+ - snps,rx-sched-wsp
196
+ then :
197
+ properties :
198
+ snps,rx-sched-sp : false
199
+ patternProperties :
200
+ " ^queue[0-9]$ " :
201
+ description : Each subnode represents a queue.
202
+ type : object
203
+ properties :
204
+ snps,dcb-algorithm :
205
+ type : boolean
206
+ description : Queue to be enabled as DCB
207
+ snps,avb-algorithm :
208
+ type : boolean
209
+ description : Queue to be enabled as AVB
210
+ snps,map-to-dma-channel :
211
+ $ref : /schemas/types.yaml#/definitions/uint32
212
+ description : DMA channel id to map
213
+ snps,route-avcp :
214
+ type : boolean
215
+ description : AV Untagged Control packets
216
+ snps,route-ptp :
217
+ type : boolean
218
+ description : PTP Packets
219
+ snps,route-dcbcp :
220
+ type : boolean
221
+ description : DCB Control Packets
222
+ snps,route-up :
223
+ type : boolean
224
+ description : Untagged Packets
225
+ snps,route-multi-broad :
226
+ type : boolean
227
+ description : Multicast & Broadcast Packets
228
+ snps,priority :
229
+ $ref : /schemas/types.yaml#/definitions/uint32
230
+ description : Bitmask of the tagged frames priorities assigned to the queue
231
+ allOf :
232
+ - if :
233
+ required :
234
+ - snps,dcb-algorithm
235
+ then :
236
+ properties :
237
+ snps,avb-algorithm : false
238
+ - if :
239
+ required :
240
+ - snps,avb-algorithm
241
+ then :
242
+ properties :
243
+ snps,dcb-algorithm : false
244
+ - if :
245
+ required :
246
+ - snps,route-avcp
247
+ then :
248
+ properties :
249
+ snps,route-ptp : false
250
+ snps,route-dcbcp : false
251
+ snps,route-up : false
252
+ snps,route-multi-broad : false
253
+ - if :
254
+ required :
255
+ - snps,route-ptp
256
+ then :
257
+ properties :
258
+ snps,route-avcp : false
259
+ snps,route-dcbcp : false
260
+ snps,route-up : false
261
+ snps,route-multi-broad : false
262
+ - if :
263
+ required :
264
+ - snps,route-dcbcp
265
+ then :
266
+ properties :
267
+ snps,route-avcp : false
268
+ snps,route-ptp : false
269
+ snps,route-up : false
270
+ snps,route-multi-broad : false
271
+ - if :
272
+ required :
273
+ - snps,route-up
274
+ then :
275
+ properties :
276
+ snps,route-avcp : false
277
+ snps,route-ptp : false
278
+ snps,route-dcbcp : false
279
+ snps,route-multi-broad : false
280
+ - if :
281
+ required :
282
+ - snps,route-multi-broad
283
+ then :
284
+ properties :
285
+ snps,route-avcp : false
286
+ snps,route-ptp : false
287
+ snps,route-dcbcp : false
288
+ snps,route-up : false
289
+ additionalProperties : false
290
+ additionalProperties : false
190
291
191
292
snps,mtl-tx-config :
192
293
$ref : /schemas/types.yaml#/definitions/phandle
193
294
description :
194
- Multiple TX Queues parameters. Phandle to a node that can
195
- contain the following properties
196
- * snps,tx-queues-to-use, number of TX queues to be used in the
197
- driver
198
- * Choose one of these TX scheduling algorithms
199
- * snps,tx-sched-wrr, Weighted Round Robin
200
- * snps,tx-sched-wfq, Weighted Fair Queuing
201
- * snps,tx-sched-dwrr, Deficit Weighted Round Robin
202
- * snps,tx-sched-sp, Strict priority
203
- * For each TX queue
204
- * snps,weight, TX queue weight (if using a DCB weight
205
- algorithm)
206
- * Choose one of these modes
207
- * snps,dcb-algorithm, TX queue will be working in DCB
208
- * snps,avb-algorithm, TX queue will be working in AVB
209
- [Attention] Queue 0 is reserved for legacy traffic
210
- and so no AVB is available in this queue.
211
- * Configure Credit Base Shaper (if AVB Mode selected)
212
- * snps,send_slope, enable Low Power Interface
213
- * snps,idle_slope, unlock on WoL
214
- * snps,high_credit, max write outstanding req. limit
215
- * snps,low_credit, max read outstanding req. limit
216
- * snps,priority, bitmask of the priorities assigned to the queue.
217
- When a PFC frame is received with priorities matching the bitmask,
218
- the queue is blocked from transmitting for the pause time specified
219
- in the PFC frame.
295
+ Multiple TX Queues parameters. Phandle to a node that
296
+ implements the 'tx-queues-config' object described in
297
+ this binding.
298
+
299
+ tx-queues-config :
300
+ type : object
301
+ properties :
302
+ snps,tx-queues-to-use :
303
+ $ref : /schemas/types.yaml#/definitions/uint32
304
+ description : number of TX queues to be used in the driver
305
+ snps,tx-sched-wrr :
306
+ type : boolean
307
+ description : Weighted Round Robin
308
+ snps,tx-sched-wfq :
309
+ type : boolean
310
+ description : Weighted Fair Queuing
311
+ snps,tx-sched-dwrr :
312
+ type : boolean
313
+ description : Deficit Weighted Round Robin
314
+ snps,tx-sched-sp :
315
+ type : boolean
316
+ description : Strict priority
317
+ allOf :
318
+ - if :
319
+ required :
320
+ - snps,tx-sched-wrr
321
+ then :
322
+ properties :
323
+ snps,tx-sched-wfq : false
324
+ snps,tx-sched-dwrr : false
325
+ snps,tx-sched-sp : false
326
+ - if :
327
+ required :
328
+ - snps,tx-sched-wfq
329
+ then :
330
+ properties :
331
+ snps,tx-sched-wrr : false
332
+ snps,tx-sched-dwrr : false
333
+ snps,tx-sched-sp : false
334
+ - if :
335
+ required :
336
+ - snps,tx-sched-dwrr
337
+ then :
338
+ properties :
339
+ snps,tx-sched-wrr : false
340
+ snps,tx-sched-wfq : false
341
+ snps,tx-sched-sp : false
342
+ - if :
343
+ required :
344
+ - snps,tx-sched-sp
345
+ then :
346
+ properties :
347
+ snps,tx-sched-wrr : false
348
+ snps,tx-sched-wfq : false
349
+ snps,tx-sched-dwrr : false
350
+ patternProperties :
351
+ " ^queue[0-9]$ " :
352
+ description : Each subnode represents a queue.
353
+ type : object
354
+ properties :
355
+ snps,weight :
356
+ $ref : /schemas/types.yaml#/definitions/uint32
357
+ description : TX queue weight (if using a DCB weight algorithm)
358
+ snps,dcb-algorithm :
359
+ type : boolean
360
+ description : TX queue will be working in DCB
361
+ snps,avb-algorithm :
362
+ type : boolean
363
+ description :
364
+ TX queue will be working in AVB.
365
+ Queue 0 is reserved for legacy traffic and so no AVB is
366
+ available in this queue.
367
+ snps,send_slope :
368
+ $ref : /schemas/types.yaml#/definitions/uint32
369
+ description : enable Low Power Interface
370
+ snps,idle_slope :
371
+ $ref : /schemas/types.yaml#/definitions/uint32
372
+ description : unlock on WoL
373
+ snps,high_credit :
374
+ $ref : /schemas/types.yaml#/definitions/uint32
375
+ description : max write outstanding req. limit
376
+ snps,low_credit :
377
+ $ref : /schemas/types.yaml#/definitions/uint32
378
+ description : max read outstanding req. limit
379
+ snps,priority :
380
+ $ref : /schemas/types.yaml#/definitions/uint32
381
+ description :
382
+ Bitmask of the tagged frames priorities assigned to the queue.
383
+ When a PFC frame is received with priorities matching the bitmask,
384
+ the queue is blocked from transmitting for the pause time specified
385
+ in the PFC frame.
386
+ allOf :
387
+ - if :
388
+ required :
389
+ - snps,dcb-algorithm
390
+ then :
391
+ properties :
392
+ snps,avb-algorithm : false
393
+ - if :
394
+ required :
395
+ - snps,avb-algorithm
396
+ then :
397
+ properties :
398
+ snps,dcb-algorithm : false
399
+ snps,weight : false
400
+ additionalProperties : false
401
+ additionalProperties : false
220
402
221
403
snps,reset-gpio :
222
404
deprecated : true
@@ -463,41 +645,6 @@ additionalProperties: true
463
645
464
646
examples :
465
647
- |
466
- stmmac_axi_setup: stmmac-axi-config {
467
- snps,wr_osr_lmt = <0xf>;
468
- snps,rd_osr_lmt = <0xf>;
469
- snps,blen = <256 128 64 32 0 0 0>;
470
- };
471
-
472
- mtl_rx_setup: rx-queues-config {
473
- snps,rx-queues-to-use = <1>;
474
- snps,rx-sched-sp;
475
- queue0 {
476
- snps,dcb-algorithm;
477
- snps,map-to-dma-channel = <0x0>;
478
- snps,priority = <0x0>;
479
- };
480
- };
481
-
482
- mtl_tx_setup: tx-queues-config {
483
- snps,tx-queues-to-use = <2>;
484
- snps,tx-sched-wrr;
485
- queue0 {
486
- snps,weight = <0x10>;
487
- snps,dcb-algorithm;
488
- snps,priority = <0x0>;
489
- };
490
-
491
- queue1 {
492
- snps,avb-algorithm;
493
- snps,send_slope = <0x1000>;
494
- snps,idle_slope = <0x1000>;
495
- snps,high_credit = <0x3E800>;
496
- snps,low_credit = <0xFFC18000>;
497
- snps,priority = <0x1>;
498
- };
499
- };
500
-
501
648
gmac0: ethernet@e0800000 {
502
649
compatible = "snps,dwxgmac-2.10", "snps,dwxgmac";
503
650
reg = <0xe0800000 0x8000>;
@@ -516,6 +663,42 @@ examples:
516
663
snps,axi-config = <&stmmac_axi_setup>;
517
664
snps,mtl-rx-config = <&mtl_rx_setup>;
518
665
snps,mtl-tx-config = <&mtl_tx_setup>;
666
+
667
+ stmmac_axi_setup: stmmac-axi-config {
668
+ snps,wr_osr_lmt = <0xf>;
669
+ snps,rd_osr_lmt = <0xf>;
670
+ snps,blen = <256 128 64 32 0 0 0>;
671
+ };
672
+
673
+ mtl_rx_setup: rx-queues-config {
674
+ snps,rx-queues-to-use = <1>;
675
+ snps,rx-sched-sp;
676
+ queue0 {
677
+ snps,dcb-algorithm;
678
+ snps,map-to-dma-channel = <0x0>;
679
+ snps,priority = <0x0>;
680
+ };
681
+ };
682
+
683
+ mtl_tx_setup: tx-queues-config {
684
+ snps,tx-queues-to-use = <2>;
685
+ snps,tx-sched-wrr;
686
+ queue0 {
687
+ snps,weight = <0x10>;
688
+ snps,dcb-algorithm;
689
+ snps,priority = <0x0>;
690
+ };
691
+
692
+ queue1 {
693
+ snps,avb-algorithm;
694
+ snps,send_slope = <0x1000>;
695
+ snps,idle_slope = <0x1000>;
696
+ snps,high_credit = <0x3E800>;
697
+ snps,low_credit = <0xFFC18000>;
698
+ snps,priority = <0x1>;
699
+ };
700
+ };
701
+
519
702
mdio0 {
520
703
#address-cells = <1>;
521
704
#size-cells = <0>;
0 commit comments