Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / x-ran / xran-uplane-conf.yang
1 module xran-uplane-conf {
2   yang-version 1.1;
3   namespace "urn:xran:uplane-conf:1.0";
4   prefix "xran-uplane-conf";
5
6   import xran-processing-element {
7     prefix "xran-pe";
8   }
9
10   import ietf-interfaces {
11     prefix "if";
12   }
13
14   import xran-module-cap {
15     prefix "mcap";
16   }
17
18   organization "xRAN Forum";
19
20   contact
21     "www.xran.org";
22
23   description
24     "This module defines the module capabilities for
25     the xRAN Radio Unit U-Plane configuration.
26
27     Copyright 2018 the xRAN Forum.
28
29     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
30     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
33     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
34     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
35     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
36     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
37     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39     POSSIBILITY OF SUCH DAMAGE.
40
41     Redistribution and use in source and binary forms, with or without
42     modification, are permitted provided that the following conditions are met:
43
44     * Redistributions of source code must retain the above copyright notice,
45     this list of conditions and the above disclaimer.
46     * Redistributions in binary form must reproduce the above copyright notice,
47     this list of conditions and the above disclaimer in the documentation
48     and/or other materials provided with the distribution.
49     * Neither the Members of the xRAN Forum nor the names of its
50     contributors may be used to endorse or promote products derived from
51     this software without specific prior written permission.";
52
53   revision "2018-07-20" {
54     description
55       "version 1.0.0 - First release of the xRAN YANG M-Plane models.
56
57       This version of the model supports v01.00 of the corrsponding xRAN
58       M-Plane Specification.";
59     reference "XRAN-FH.MP.0-v01.00";
60   }
61
62   grouping  eaxc {
63     description
64       "One eAxC identifier (eAxC ID) comprises a band and sector
65       identifier (BandSector_ID), a component-carrier identifier (CC_ID) and a
66       spatial stream identifier (RU_Port_ID).
67
68       In this version of the specification, one eAxC contains only one spatial
69       stream (i.e. one beam per subcarrier) at a time.
70
71       Bit allocation is subdivided as follows:
72       *    CU_Port_ID: Used to differentiate processing units at lls-CU
73       *    BandSector_ID: Aggregated cell identifier
74       *    CC_ID: distinguishes Carrier Components
75       *    RU_Port_ID: Used to differentiate spatial streams or beams on the RU
76
77       The bitwidth of each of the above fields is variable this model is supposed to check
78         if we are occpying bits continuously but we do not have to occupy all 16 bits";
79
80
81     leaf cu-port-bitmask {
82       type uint16;
83           mandatory true;
84       description
85         "mask for eaxc-id bits used to encode CU Port ID";
86     }
87
88     leaf band-sector-bitmask {
89       type uint16;
90       mandatory true;
91       description
92         "mask for eaxc-id bits used to encode the band sector ID";
93     }
94
95     leaf ccid-bitmask {
96       type uint16;
97           mandatory true;
98       description
99         "mask for eaxc-id bits used to encode the component carrier id";
100     }
101
102     leaf ru-port-bitmask {
103       type uint16;
104           mandatory true;
105       description
106         "mask for eaxc-id bits used to encode the RU Port ID";
107     }
108
109     leaf eaxc-id {
110       type uint16;
111           mandatory true;
112       description
113         "encoded value of eaxcid to be read by CU-Plane";
114     }
115   }
116
117   container user-plane-configuration {
118     description "top level container for user plane configuration";
119
120     container compression {
121           description
122             "Container which consists of global configurable parameters for compression";
123
124       leaf compression-type {
125         type enumeration {
126           enum STATIC {
127             description
128               "Indicates that static compression method will be used (both compression and IQ bitwidth)";
129           }
130
131           enum DYNAMIC {
132             description
133               "Indicates that dynamic compresion method will be used";
134           }
135         }
136                 description
137                   "Compression type that lls-CU wants to be supported";
138       }
139
140       leaf bitwidth {
141         when "./../compression-type = 'STATIC'";
142         type uint8;
143         description
144           "Bitwidth to be used in compression";
145       }
146
147       leaf compression-method {
148         when "./../compression-type = 'STATIC'";
149         type enumeration {
150           enum BLOCK_FLOATING_POINT {
151             description
152               "Block floating point compression and decompression will be used";
153           }
154
155           enum BLOCK_SCALING {
156             description
157               "Block scaling compression and decompresion will be used";
158           }
159
160           enum U_LAW {
161             description
162               "u-Law compression and decompresion method will be used";
163           }
164
165           enum BEAMSPACE {
166             description
167               "Beamspace compression and decompression will be used";
168           }
169
170           enum MODULATION {
171             description
172               "Modulation compression and decompression will be used";
173           }
174         }
175             description
176               "Compresion method which can be supported by the RU";
177       }
178     }
179
180     list low-level-tx-links {
181       key name;
182       description
183         "Object model for low-level-tx-link configuration";
184
185       leaf name {
186         type string;
187         description
188           "Unique name of low-level-tx-link object.";
189       }
190
191       leaf processing-element {
192         type leafref {
193           path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
194         }
195         mandatory true;
196         description
197           "Contains name of processing-element to be used as transport by low-level-tx-link";
198       }
199
200       leaf tx-array-carrier {
201         type leafref {
202           path "/user-plane-configuration/tx-array-carriers/name";
203         }
204         mandatory true;
205         description
206           "Contains name of tx-array-carriers MO to be used as transport by low-level-tx-link";
207       }
208
209       leaf low-level-tx-endpoint {
210         type string;
211         must "boolean(../../low-level-tx-endpoints[name = current()])" {
212           error-message "low-level-tx-endpoint you want to set does not exists in /low-level-tx-endpoints/name";
213         }
214         mandatory true;
215         description
216           "Contains name of low-level-tx-endpoints MO to be used as transport by low-level-tx-link";
217       }
218
219       container remote-address {
220         uses eaxc;
221
222         must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
223               '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
224           error-message "Bitmasks for eaxc-id is badly formatted";
225         }
226
227         description
228           "Contains address of remote TX endpoint served by NETCONF client.";
229       }
230     }
231
232     list low-level-rx-links {
233       key name;
234       description
235         "Object model for low-level-rx-links configuration";
236
237       leaf name {
238         type string;
239
240         description
241           "Unique name of low-level-rx-links object.";
242       }
243
244       leaf processing-element {
245         type leafref {
246           path "/xran-pe:processing-elements/xran-pe:ru-elements/xran-pe:name";
247         }
248         mandatory true;
249         description
250           "Contains name of processing-element to be used as transport by LowLevelTxLink";
251       }
252
253       leaf rx-array-carrier {
254         type leafref {
255           path "/user-plane-configuration/rx-array-carriers/name";
256         }
257         mandatory true;
258
259         description
260           "Contains name of rx-array-carriers MO to be used as transport by low-level-rx-links";
261       }
262
263       leaf low-level-rx-endpoint {
264         type string;
265         must "boolean(../../low-level-rx-endpoints[name = current()])" {
266           error-message "low-level-rx-endpoint you want to set does not exists in /low-level-rx-endpoints/name";
267         }
268         mandatory true;
269
270         description
271           "Contains name of low-level-rx-endpoints MO to be used as transport by low-level-rx-links";
272       }
273
274       container remote-address {
275         uses eaxc;
276
277         must "( cu-port-bitmask + band-sector-bitmask +ccid-bitmask + ru-port-bitmask ) =
278               '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
279           error-message "Bitmasks for eaxc-id is badly formatted";
280         }
281
282         description
283           "Contains address of remote RX endpoint served by Netconf client.";
284       }
285
286           leaf priority {
287             type enumeration {
288                   enum HIGH {
289                     description
290                              "Means high priority for link";
291                   }
292                   enum LOW {
293                     description
294                              "Means low priority for link";
295                   }
296             }
297
298                 description
299                   "Parameter to set priority for this link";
300           }
301     }
302
303     list static-low-level-tx-endpoints {
304       key name;
305       config false;
306       description
307         "Object model for static-low-level-tx-endpoints configuration";
308
309       leaf name {
310         type string;
311
312         description
313           "Unique name of static-low-level-tx-endpoints object.";
314       }
315
316       leaf interface {
317         type string;
318         must "boolean(/if:interfaces/if:interface[if:name = current()])" {
319           error-message "ethernet-interface you want to set does not exists in /interfaces/interface/name";
320         }
321
322         description
323           "Contains name of ietf:interface to be used as transport by low-level-tx-endpoints";
324       }
325
326       leaf array {
327         type leafref {
328           path "/user-plane-configuration/tx-arrays/name";
329         }
330         description
331           "Contains distname of tx-arrays, particular low-level-tx-endpoints is in hardware dependency with.
332           Note: single instance of tx-arrays can be referenced by many instances of low-level-tx-endpoints
333           (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
334       }
335     }
336
337     list static-low-level-rx-endpoints {
338       key name;
339       config false;
340       description
341         "Object model for static-low-level-rx-endpoints configuration";
342
343       leaf name {
344         type string;
345
346         description
347           "Unique name of static-low-level-rx-endpoints object.";
348       }
349
350       leaf interface {
351         type string;
352         must "boolean(/if:interfaces/if:interface[if:name = current()])" {
353           error-message "interface you want to set does not exists in /interfaces/interface/name";
354         }
355
356         description
357           "Contains name of ietf:interface to be used as transport by low-level-rx-endpoints";
358       }
359
360       leaf array {
361         type leafref {
362           path "/user-plane-configuration/rx-arrays/name";
363         }
364         description
365           "Contains distname of rx-arrays, particular low-level-rx-endpoints is in hardware dependency with.
366           Note: single instance of rx-arrays can be referenced by many instances of low-level-rx-endpoints
367           (e.g. to allow DU to handle multiple fronthauls and multiple component carriers).";
368       }
369     }
370
371     list low-level-tx-endpoints {
372       key name;
373       description
374         "Object model for low-level-tx-endpoints configuration - augmented static-low-level-tx-endpoints by local-address
375         which cannot be added to static low-level-tx-endpoints as we cannot have modificable element in static object";
376
377       leaf name {
378         type string;
379         must "boolean(../../static-low-level-tx-endpoints[name = current()])" {
380           error-message "name you want to set does not exist in /static-low-level-tx-endpoints/name";
381         }
382
383         description
384           "Unique name of low-level-tx-endpoint object.";
385       }
386
387       container local-address {
388         uses eaxc;
389
390         must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
391               '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
392           error-message "Bitmasks for eaxc-id is badly formatted";
393         }
394         description
395           "Contains local address of low level TX endpoint offered by Netconf server.";
396       }
397     }
398
399
400     list low-level-rx-endpoints {
401       key name;
402       description
403         "Object model for low-level-rx-endpoint configuration - augmented static-low-level-rx-endpoints by local-address
404         which cannot be added to static low-level-rx-endpoints as we cannot have modificable element in static object";
405
406       leaf name {
407         type string;
408         must "boolean(../../static-low-level-rx-endpoints[name = current()])" {
409           error-message "name you want to set does not exist in /static-low-level-rx-endpoints/name";
410         }
411
412         description
413           "Unique name of low-level-rx-endpoint object.";
414       }
415
416       container local-address {
417         uses eaxc;
418
419         must "( cu-port-bitmask + band-sector-bitmask + ccid-bitmask + ru-port-bitmask ) =
420               '(0 | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 | 4095 | 8191 | 16383 | 32767 | 65535)'" {
421           error-message "Bitmasks for eaxc-id is badly formatted";
422         }
423
424         description
425           "Contains local address of low level RX endpoint offered by Netconf server.";
426       }
427     }
428
429     list tx-array-carriers {
430       key name;
431       description
432         "Object model for tx-array-carriers configuration";
433
434       leaf name {
435         type string;
436
437         description
438           "Unique name of tx-array-carriers object.";
439       }
440
441       leaf absolute-frequency-center {
442         type uint32;
443         mandatory true;
444         description
445           "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
446       }
447
448       leaf center-of-channel-bandwidth {
449         type uint64;
450                     units Hz;
451         mandatory true;
452         description
453           "Center frequency of channel bandwidth in Hz. Common for all numerologies.";
454       }
455
456       leaf channel-bandwidth {
457         type uint64;
458         units Hz;
459         mandatory true;
460
461         description
462           "Width of carrier given in Hertz";
463       }
464
465
466       leaf power {
467         type decimal64 {
468           fraction-digits 4;
469         }
470         mandatory true;
471
472         description
473           "Transmission power in dBm. Value applicable to each array element carrier belonging to array carrier.";
474       }
475
476       leaf active {
477         type enumeration {
478           enum INACTIVE {
479                 description
480                   "carrier does not provide signal - transmission is disabled";
481               }
482           enum SLEEP{
483                 description
484                   "carrier is fully configured and was active but is energy saving mode";
485               }
486           enum ACTIVE{
487                 description
488                   "carrier is fully configured and properly providing the signal";
489               }
490         }
491         default INACTIVE;
492
493         description
494           "Indicates if transmission is enabled for this tx-array-carriers. Note that Netconf server uses state parameter
495           to indicate actual state of tx-array-carriers operation. When tx-array-carriers is in sleep status,
496           Netconf server rejects all other operation request to tx-array-carriers object except either request to change from sleep
497           to active status or delete MO operation (see 4.8) to the object.";
498       }
499
500       leaf state {
501         type enumeration {
502           enum DISABLED {
503             description
504               "tx-array-carrier is not active - transmission of signal is disabled.";
505           }
506           enum BUSY {
507             description
508               "tx-array-carrier is processing an operation requested by change of active parameter.
509               When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
510           }
511           enum READY {
512             description
513               "tx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
514           }
515         }
516         config false;
517
518         description
519           "Indicates state of tx-array-carriers activation operation";
520       }
521
522       leaf type {
523         type enumeration {
524           enum NR {
525                 description
526                   "5G technology";
527               }
528         }
529         config false;
530
531         description
532           "Type of carrier. Indicates array-carrier technology.";
533       }
534
535       leaf fft-size {
536         type uint32;
537
538         description
539             "The FFT size defines the number of bins used for dividing the window into equal strips, or bins.
540               Hence, a bin is a spectrum sample, and defines the frequency resolution of the window.";
541       }
542
543       leaf downlink-radio-frame-offset {
544         type uint32 {
545           range 0..12288000;
546         }
547         mandatory true;
548
549         description
550           "This parameter is used for offsetting the starting position of 10ms radio frame.
551           Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.
552           Note2: Unit is 1/1.2288e9 Hz and accuracy is 1/4 Tc. Then, its range is calculated 0..12288000.";
553       }
554
555       leaf downlink-sfn-offset {
556         type int16 {
557           range -32768..32767;
558         }
559         mandatory true;
560
561         description
562           "This parameter is used for offsetting SFN value.
563           Unit is in 10ms.
564           Note: The value should have same value within DU to all tx-array-carrierss that have same frequency and bandwidth.";
565       }
566
567       leaf default-scs {
568                 type enumeration {
569           enum KHZ_15 {
570             value 0;
571             description
572             "15kHz sub carrier spacing";
573           }
574           enum KHZ_30 {
575             value 1;
576                 description
577                   "30kHz sub carrier spacing";
578           }
579           enum KHZ_60 {
580             value 2;
581                 description
582                   "60kHz sub carrier spacing";
583           }
584           enum KHZ_120 {
585             value 3;
586                 description
587                   "120kHz sub carrier spacing";
588           }
589           enum KHZ_240 {
590             value 4;
591                 description
592                   "240kHz sub carrier spacing";
593           }
594           enum KHZ_1_25 {
595             value 12;
596                   description
597                   "1,25kHz sub carrier spacing";
598           }
599           enum KHZ_5 {
600             value 14;
601                 description
602                   "5kHz sub carrier spacing";
603           }
604         }
605
606             mandatory true;
607
608         description
609           "Sub-carrier spacing configuration";
610           }
611
612                 list scs-specific-config {
613                         key scs;
614                         description
615                                 "List of scs-specific configurations";
616                                 uses scs-config;
617                         }
618         leaf cp-length {
619           type uint32;
620             description
621               "CP length woud be determined by deployment types that has different
622                 delay spread requirements, and/or determined by frequency bands, service type
623                 or determined by whether beam forming technology is used or not";
624         }
625       }
626
627     list rx-array-carriers {
628       key name;
629       description
630         "Object model for rx-array-carriers configuration";
631
632                 leaf name {
633                   type string;
634             description
635             "Unique name of rx-array-carriers object.";
636       }
637
638
639       leaf absolute-frequency-center {
640         type uint32;
641         mandatory true;
642         description
643          "Absolute Radio Frequency Channel Number - indirectly indicates RF center carrier frequency of downlink signal.";
644       }
645       leaf center-of-channel-bandwidth {
646         type uint64;
647                     units Hz;
648         mandatory true;
649         description
650           "Center frequency of channel bandwidth. Common for all numerologies.";
651       }
652       leaf channel-bandwidth {
653         type uint64;
654         units Hz;
655         mandatory true;
656         description
657           "Width of carrier given in Hertz";
658       }
659
660
661       leaf active {
662         type enumeration {
663           enum INACTIVE {
664                 description
665                   "carrier does not provide signal - transmission is disabled";
666               }
667           enum SLEEP{
668                 description
669                   "carrier is fully configured and was active but is energy saving mode";
670               }
671           enum ACTIVE{
672                 description
673                   "carrier is fully configured and properly providing the signal";
674               }
675         }
676         default INACTIVE;
677         description
678           "Indicates if transmission is enabled for this rx-array-carriers. Note that Netconf server uses state parameter
679           to indicate actual state of rx-array-carriers operation. When rx-array-carriers is in sleep status,
680           Netconf server rejects all other operation request to rx-array-carriers object except either request to change from sleep
681           to active status or delete MO operation (see 4.8) to the object.";
682       }
683
684       leaf state {
685         type enumeration {
686           enum DISABLED {
687             description
688               "rx-array-carrier is not active - transmission of signal is disabled.";
689           }
690           enum BUSY {
691             description
692               "rx-array-carrier is processing an operation requested by change of active parameter.
693               When tx-array-carriers is BUSY the transmission of signal is not guaranteed.";
694           }
695           enum READY {
696             description
697               "rx-array-carrier had completed activation operation - is active and transmission of signal is ongoing.";
698           }
699         }
700         config false;
701
702         description
703           "Indicates state of rx-array-carriers activation operation";
704       }
705
706       leaf type {
707         type enumeration {
708           enum NR {
709                 description
710                   "5G technology";
711               }
712         }
713         config false;
714
715         description
716           "Type of carrier. Indicates array-carrier technology.";
717       }
718
719       leaf fft-size {
720         type uint32;
721           description
722             "FFT size";
723       }
724
725       leaf ul-fft-sampling-offset {
726         type uint32;
727             description
728               "uplink FFT sampling offset";
729       }
730
731       leaf n-ta-offset {
732         type uint32;
733         description
734           "Value of configurable N-TA offset";
735       }
736       leaf default-scs {
737             type enumeration {
738           enum KHZ_15 {
739             value 0;
740             description
741               "15kHz sub carrier spacing";
742           }
743           enum KHZ_30 {
744             value 1;
745                 description
746                   "30kHz sub carrier spacing";
747           }
748           enum KHZ_60 {
749             value 2;
750                 description
751                   "60kHz sub carrier spacing";
752           }
753           enum KHZ_120 {
754             value 3;
755                 description
756                   "120kHz sub carrier spacing";
757           }
758           enum KHZ_240 {
759             value 4;
760                 description
761                   "240kHz sub carrier spacing";
762           }
763           enum KHZ_1_25 {
764             value 12;
765                   description
766                   "1,25kHz sub carrier spacing";
767           }
768           enum KHZ_5 {
769             value 14;
770                 description
771                   "5kHz sub carrier spacing";
772           }
773         }
774         mandatory true;
775
776         description
777           "Sub-carrier spacing configuration";
778           }
779
780           list scs-specific-config {
781                 key scs;
782                 description
783                   "List of static scs-specific configurations";
784                   uses scs-config;
785                 }
786
787
788       leaf cp-length {
789         type uint32;
790           description
791             "CP length woud be determined by deployment types that has different
792               delay spread requirements, and/or determined by frequency bands, service type
793               or determined by whether beam forming technology is used or not";
794       }
795
796     }
797
798     list tx-arrays {
799       key name;
800       config false;
801       description
802         "Object model for tx-arrays configuration";
803
804       leaf name {
805         type string;
806         description
807           "Unique name of tx-arrays object.";
808       }
809
810       leaf polarisation {
811         type int8 {
812           range "-45 | 0 | 45 | 90";
813         }
814           description
815             "This parameter informing which polarization is served by particular antenna array
816               as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
817               Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
818               either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
819               Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
820       }
821
822       leaf panel-id {
823         type uint8;
824           description
825             "This parameter informing panel particular antenna array is built into.
826               Intended use is to indicate if two orthogonal arrays occupy the same physical panel (e.g. as cross-polarized
827               radiators) or if arrays of different polarizations are built into physically separated panels.";
828       }
829
830       leaf band-number {
831         type leafref {
832           path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
833         }
834         description
835           "This parameter informing which frequency band particular antenna
836            array is serving for.
837            Intended use is to deal with multiband solutions.";
838       }
839     }
840
841     list rx-arrays {
842       key name;
843       config false;
844       description
845         "Object model for rx-arrays configuration";
846
847       leaf name {
848         type string;
849         description
850           "Unique name of rx-arrays object.";
851       }
852
853       leaf polarisation {
854         type int8 {
855           range "-45 | 0 | 45 | 90";
856         }
857         description
858           "This parameter informing which polarization is served by  particular antenna array
859           as per HW design. Expected values are +45 deg, -45 deg, 0 deg and 90 deg.
860           Note: In case of multi-band RU orthogonality is assumed to exist per band, meaning:
861           either pair of +45 deg and -45 deg or pair of 0 deg and 90 deg are expected per band.
862           Non-orthogonal pairs like e.g 0 deg and +45 deg are not expected.";
863       }
864
865       leaf panel-id {
866         type uint8;
867         description
868           "This parameter informing panel particular antenna array is built
869            into.
870            Intended use is to indicate if two orthogonal arrays occupy the same
871            physical panel (e.g. as cross-polarized radiators) or if arrays of
872            different polarizations are built into physically separated panels.";
873       }
874
875       leaf band-number {
876         type leafref {
877           path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
878         }
879         description
880           "This parameter informing which frequency band particular antenna
881            array is serving for.
882            Intended use is to deal with multiband solutions.";
883       }
884     }
885   }
886
887    grouping scs-config {
888     description
889           "It groups all parameters related to SCS configuration";
890
891     leaf scs {
892       type enumeration {
893         enum KHZ_15 {
894           value 0;
895               description
896                 "15kHz sub carrier spacing";
897         }
898         enum KHZ_30 {
899           value 1;
900               description
901                 "30kHz sub carrier spacing";
902         }
903         enum KHZ_60 {
904           value 2;
905               description
906                 "60kHz sub carrier spacing";
907         }
908         enum KHZ_120 {
909           value 3;
910               description
911                 "120kHz sub carrier spacing";
912         }
913         enum KHZ_240 {
914           value 4;
915               description
916                 "240kHz sub carrier spacing";
917         }
918         enum KHZ_1_25 {
919           value 12;
920                 description
921                 "1,25kHz sub carrier spacing";
922         }
923         enum KHZ_5 {
924           value 14;
925               description
926                 "5kHz sub carrier spacing";
927         }
928       }
929         description
930           "Sub-carrier spacing configuration";
931     }
932     leaf offset-to-absolute-frequency-center {
933       type int32;
934       mandatory true;
935       description
936         "Offset to center-of-carrier-bandwidth. Mostly negative value. Granularity of this parameter is 0.5 SCS";
937     }
938
939     leaf number-of-prbs {
940       type uint32;
941       mandatory true;
942       description
943         "Number of physical resource blocks.";
944     }
945   }
946
947
948 }