blob: de5ec05c1a185680c447bf2f6870b44b2e48e46e [file] [log] [blame]
Alex Stancu29ce3682019-11-02 10:38:59 +02001module o-ran-module-cap {
2 yang-version 1.1;
3 namespace "urn:o-ran:module-cap:1.0";
4 prefix "o-ran-module-cap";
5
6 import o-ran-compression-factors {
7 prefix "cf";
8 }
9
10 organization "O-RAN Alliance";
11
12 contact
13 "www.o-ran.org";
14
15 description
16 "This module defines the module capabilities for
17 the O-RAN Radio Unit.
18
19 Copyright 2019 the O-RAN Alliance.
20
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
22 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 POSSIBILITY OF SUCH DAMAGE.
32
33 Redistribution and use in source and binary forms, with or without
34 modification, are permitted provided that the following conditions are met:
35
36 * Redistributions of source code must retain the above copyright notice,
37 this list of conditions and the above disclaimer.
38 * Redistributions in binary form must reproduce the above copyright notice,
39 this list of conditions and the above disclaimer in the documentation
40 and/or other materials provided with the distribution.
41 * Neither the Members of the O-RAN Alliance nor the names of its
42 contributors may be used to endorse or promote products derived from
43 this software without specific prior written permission.";
44
45 revision "2019-02-04" {
46 description
47 "version 1.0.0
48
49 1) imported model from xRAN
50 2) changed namespace and reference from xran to o-ran";
51
52 reference "ORAN-WG4.M.0-v01.00";
53 }
54
55 feature LAA {
56 description
57 "Indicates that the Radio Unit supports LAA.";
58 }
59
60 feature TRANSPORT-FRAGMENTATION {
61 description
62 "This leaf is used to indicate whether the O-RU supports O-RAN Radio Transport Fragmentation";
63 }
64
65 typedef sub-band-string {
66 type string {
67 pattern [ABCD];
68 }
69 description "Sub bands definition";
70 }
71
72 typedef scs-config-type {
73 type enumeration {
74 enum KHZ_15 {
75 value 0;
76 description
77 "15kHz sub carrier spacing";
78 }
79 enum KHZ_30 {
80 value 1;
81 description
82 "30kHz sub carrier spacing";
83 }
84 enum KHZ_60 {
85 value 2;
86 description
87 "60kHz sub carrier spacing";
88 }
89 enum KHZ_120 {
90 value 3;
91 description
92 "120kHz sub carrier spacing";
93 }
94 enum KHZ_240 {
95 value 4;
96 description
97 "240kHz sub carrier spacing";
98 }
99 enum KHZ_1_25 {
100 value 12;
101 description
102 "1,25kHz sub carrier spacing";
103 }
104 enum KHZ_3_75 {
105 value 13;
106 description
107 "3.75kHz sub carrier spacing";
108 }
109 enum KHZ_5 {
110 value 14;
111 description
112 "5kHz sub carrier spacing";
113 }
114 enum KHZ_7_5 {
115 value 15;
116 description
117 "7.5kHz sub carrier spacing";
118 }
119 }
120
121 description
122 "Scs configuration type definition";
123 }
124
125 grouping compression-method-grouping {
126 description
127 "Grouping for compression method.";
128
129 leaf compression-method {
130 type enumeration {
131 enum BLOCK_FLOATING_POINT {
132 description
133 "Block floating point compression and decompression will be used";
134 }
135
136 enum BLOCK_SCALING {
137 description
138 "Block scaling compression and decompresion will be used";
139 }
140
141 enum U_LAW {
142 description
143 "u-Law compression and decompresion method will be used";
144 }
145
146 enum BEAMSPACE {
147 description
148 "Beamspace compression and decompression will be used";
149 }
150
151 enum MODULATION {
152 description
153 "Modulation compression and decompression will be used";
154 }
155 }
156 description
157 "Compresion method which can be supported by the O-RU";
158 }
159 }
160
161 grouping sub-band-max-min-ul-dl-frequency {
162 description
163 "Grouping for defining max and min supported frequency - dl and ul.";
164
165 leaf max-supported-frequency-dl {
166 type uint64;
167 description
168 "This value indicates Maximum supported downlink frequency in the
169 LAA subband. Value unit is Hz.";
170 }
171
172 leaf min-supported-frequency-dl {
173 type uint64;
174 description
175 "This value indicates Minimum supported downlink frequency in the
176 LAA subband. Value unit is Hz.";
177 }
178 }
179
180 grouping format-of-iq-sample {
181 description
182 "Indicates module capabilities about IQ samples";
183
184 leaf dynamic-compression-supported {
185 type boolean;
186
187 description
188 "Informs if radio supports dynamic compression method";
189 }
190
191 leaf realtime-variable-bit-width-supported {
192 type boolean;
193
194 description
195 "Informs if O-RU supports realtime variable bit with";
196 }
197
198 list compression-method-supported {
199 key "iq-bitwidth compression-type";
200 uses cf:compression-details;
201
202 description
203 "List of supported compression methods by O-RU";
204 }
205
206 leaf variable-bit-width-per-channel-supported {
207 when "/module-capability/ru-capabilities/format-of-iq-sample/realtime-variable-bit-width-supported = 'true'";
208 type boolean;
209
210 description
211 "Informs if variable bit width per channel is supported or not";
212 }
213
214 leaf syminc-supported {
215 type boolean;
216
217 description
218 "Informs if symbol number increment command in a C-Plane is
219 supported or not";
220 }
221 }
222
223 grouping scs-a-b {
224 description
225 "Grouping for scs-a and scs-b";
226 leaf scs-a{
227 type scs-config-type;
228 description
229 "Sub-carrier spacing configuration";
230 }
231 leaf scs-b{
232 type scs-config-type;
233 description
234 "Sub-carrier spacing configuration";
235 }
236 }
237
238 grouping ul-mixed-num-required-guard-rbs {
239 description
240 "Required number of guard resource blocks for the combination of
241 subcarrier spacing values for uplink";
242 uses scs-a-b;
243 leaf number-of-guard-rbs-ul{
244 type uint8;
245 description
246 "This value indicates the required number of guard resource blocks
247 between the mixed numerologies, the RB using scs-a and the RB
248 using scs-b. It's number is based on scs-a";
249 }
250 }
251
252 grouping dl-mixed-num-required-guard-rbs {
253 description
254 "Required number of guard resource blocks for the combination of
255 subcarrier spacing values for uplink";
256 uses scs-a-b;
257 leaf number-of-guard-rbs-dl{
258 type uint8;
259 description
260 "This value indicates the required number of guard resource blocks
261 between the mixed numerologies, the RB using scs-a and the RB
262 using scs-b. It's number is based on scs-a";
263 }
264 }
265
266 grouping ru-capabilities {
267 description
268 "Structure representing set of capabilities.";
269
270 leaf ru-supported-category {
271 type enumeration {
272 enum CAT_A {
273 description
274 "Informs that precoding is not supported in O-RU";
275 }
276 enum CAT_B {
277 description
278 "Informs that precoding is supported in O-RU";
279 }
280 }
281
282 description
283 "Informs about which category O-RU supports";
284 }
285
286 leaf number-of-ru-ports {
287 type uint8;
288 description
289 "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
290 - the number of O-RU ports is the product of number of spatial streams (leaf number-of-spatial-streams) and number of numerologies O-RU supports.
291 For example, if the number of spatial streams is 4 then the number of O-RU ports is 8 when PUSCH and PRACH are processed in the different endpoints.
292 In case there are specific endpoints that support non-time-managed traffic only
293 - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
294 }
295
296 leaf number-of-spatial-streams {
297 type uint8;
298 description
299 "This value indicates the number of spatial streams supported at O-RU for DL and UL.
300 For DL, it is same as the number of antenna ports specified in 3GPP TS38.214, Section 5.2 and 3GPP TS36.213, Section 5.2.";
301 }
302
303 leaf max-power-per-pa-antenna {
304 type decimal64{
305 fraction-digits 4;
306 }
307 description
308 "This value indicates Maximum Power per PA per antenna. Value unit is dBm.";
309 }
310
311 leaf min-power-per-pa-antenna {
312 type decimal64{
313 fraction-digits 4;
314 }
315 description
316 "This value indicates Minimum Power per PA per antenna. Value unit is dBm.";
317 }
318
319 leaf fronthaul-split-option {
320 type uint8 {
321 range "7";
322 }
323 description
324 "This value indicates the Fronthaul Split Option, i.e., 2 or 7 in this release.";
325 }
326
327 container format-of-iq-sample {
328 description
329 "Indicates module capabilities about IQ samples";
330
331 uses format-of-iq-sample;
332 }
333
334 list ul-mixed-num-required-guard-rbs {
335 key "scs-a scs-b";
336
337 uses ul-mixed-num-required-guard-rbs;
338 }
339 list dl-mixed-num-required-guard-rbs {
340 key "scs-a scs-b";
341
342 uses dl-mixed-num-required-guard-rbs;
343 }
344
345 leaf energy-saving-by-transmission-blanks {
346 type boolean;
347 mandatory true;
348 description
349 "Parameter informs if unit supports energy saving by transmission blanking";
350 }
351
352 leaf dynamic-transport-delay-management-supported {
353 type boolean;
354 mandatory true;
355 description
356 "Parameter informs if unit supports dynamic transport delay management through eCPRI Msg 5";
357 }
358 }
359
360 grouping sub-band-info {
361 description "container for collection of leafs for LAA subband 46";
362 list sub-band-frequency-ranges {
363 key sub-band;
364 description "frequency information on a per sub-band basis";
365 leaf sub-band {
366 type sub-band-string;
367 description "Sub band when band 46";
368 }
369 uses sub-band-max-min-ul-dl-frequency;
370 }
371 leaf number-of-laa-scarriers {
372 type uint8;
373 description
374 "This value indicates the number of LAA secondary carriers supported at O-RU.";
375 }
376
377 leaf maximum-laa-buffer-size {
378 type uint16;
379 description
380 "Maximum O-RU buffer size in Kilobytes (KB) per CC. This parameter is
381 needed at the O-DU to know how much data can be sent in advance
382 and stored at the O-RU to address the LBT uncertainity.";
383 }
384
385 leaf maximum-processing-time {
386 type uint16;
387 units microseconds;
388 description
389 "Maximum O-RU Processing time in microseconds at the O-RU to handle the
390 received/transmitted packets from/to the O-DU. This parameter is
391 needed at the O-DU to determine the time where it needs to send
392 the data to the O-RU.";
393 }
394
395 leaf self-configure {
396 type boolean;
397 description "This value indicates that the O-RU can manage the contention window locally. ";
398 }
399 }
400
401 grouping support-for-dl {
402 description
403 "Grouping for DL specific parameters";
404
405 leaf max-supported-frequency-dl {
406 type uint64;
407 description
408 "This value indicates Maximum supported downlink frequency. Value unit is Hz.";
409 }
410
411 leaf min-supported-frequency-dl {
412 type uint64;
413 description
414 "This value indicates Minimum supported downlink frequency. Value unit is Hz.";
415 }
416
417 leaf max-supported-bandwidth-dl {
418 type uint64;
419 description
420 "This value indicates Maximum total downlink bandwidth in module. Value unit is Hz.";
421 }
422
423 leaf max-num-carriers-dl {
424 type uint32;
425 description
426 "This value indicates Maximum number of downlink carriers in module.";
427 }
428
429 leaf max-carrier-bandwidth-dl {
430 type uint64;
431 description
432 "This value indicates Maximum bandwidth per downlink carrier. Value unit is Hz.";
433 }
434
435 leaf min-carrier-bandwidth-dl {
436 type uint64;
437 description
438 "This value indicates Minimum bandwidth per downlink carrier. Value unit is Hz.";
439 }
440 }
441
442 grouping support-for-ul {
443 description
444 "Grouping for UL specific parameters";
445
446 leaf max-supported-frequency-ul {
447 when "../band-number != '46'";
448 type uint64;
449 description
450 "This value indicates Maximum supported uplink frequency. Value unit is Hz.";
451 }
452
453 leaf min-supported-frequency-ul {
454 when "../band-number != '46'";
455 type uint64;
456 description
457 "This value indicates Minimum supported uplink frequency. Value unit is Hz.";
458 }
459
460 leaf max-supported-bandwidth-ul {
461 when "../band-number != '46'";
462 type uint64;
463 description
464 "This value indicates Maximum total uplink bandwidth in module. Value unit is Hz.";
465 }
466
467 leaf max-num-carriers-ul {
468 when "../band-number != '46'";
469 type uint32;
470 description
471 "This value indicates Maximum number of uplink carriers in module.";
472 }
473
474 leaf max-carrier-bandwidth-ul {
475 when "../band-number != '46'";
476 type uint64;
477 description
478 "This value indicates Maximum bandwidth per uplink carrier. Value unit is Hz.";
479 }
480
481 leaf min-carrier-bandwidth-ul {
482 when "../band-number != '46'";
483 type uint64;
484 description
485 "This value indicates Minimum bandwidth per uplink carrier. Value unit is Hz.";
486 }
487 }
488
489 grouping band-capabilities {
490 description
491 "Capabilities that are needed to be defined per each band";
492
493 leaf band-number {
494 type uint16;
495 description
496 "Band number";
497 }
498
499 container sub-band-info {
500 when "../band-number = '46'";
501 if-feature "o-ran-module-cap:LAA";
502 description "container for collection of leafs for LAA subband 46";
503 uses sub-band-info;
504 }
505
506 uses support-for-dl;
507 uses support-for-ul;
508
509 leaf max-num-component-carriers {
510 type uint8;
511 description "maximum number of component carriers supported by the O-RU";
512 }
513
514 leaf max-num-bands {
515 type uint16;
516 description "maximum number of bands supported by the O-RU";
517 }
518
519 leaf max-num-sectors {
520 type uint8;
521 description "maximum number of sectors supported by the O-RU";
522 }
523
524 leaf max-power-per-antenna {
525 type decimal64{
526 fraction-digits 4;
527 }
528 description
529 "This value indicates Maximum Power per band per antenna. Value unit is dBm.";
530 }
531
532 leaf min-power-per-antenna {
533 type decimal64{
534 fraction-digits 4;
535 }
536 description
537 "This value indicates Minimum Power per band per antenna. Value unit is dBm.";
538 }
539
540 leaf codebook-configuration_ng {
541 type uint8;
542 description
543 "This parameter informs the precoder codebook_ng that are used for precoding";
544 }
545
546 leaf codebook-configuration_n1 {
547 type uint8;
548 description
549 "This parameter informs the precoder codebook_n1 that are used for precoding";
550 }
551
552 leaf codebook-configuration_n2 {
553 type uint8;
554 description
555 "This parameter informs the precoder codebook_n2 that are used for precoding";
556 }
557 }
558
559 container module-capability {
560 config false;
561 description
562 "module capability object responsible for providing module capability.";
563
564 container ru-capabilities {
565 description
566 "Structure representing set of capabilities.";
567
568 uses ru-capabilities;
569 }
570
571 list band-capabilities {
572 key band-number;
573 description
574 "Capabilities that are needed to be defined per each band";
575
576 uses band-capabilities;
577 }
578 }
579}