1 module o-ran-module-cap {
3 namespace "urn:o-ran:module-cap:1.0";
4 prefix "o-ran-module-cap";
6 import o-ran-compression-factors {
8 revision-date 2020-08-10;
11 organization "O-RAN Alliance";
17 "This module defines the module capabilities for
20 Copyright 2020 the O-RAN Alliance.
22 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
23 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 POSSIBILITY OF SUCH DAMAGE.
34 Redistribution and use in source and binary forms, with or without
35 modification, are permitted provided that the following conditions are met:
37 * Redistributions of source code must retain the above copyright notice,
38 this list of conditions and the above disclaimer.
39 * Redistributions in binary form must reproduce the above copyright notice,
40 this list of conditions and the above disclaimer in the documentation
41 and/or other materials provided with the distribution.
42 * Neither the Members of the O-RAN Alliance nor the names of its
43 contributors may be used to endorse or promote products derived from
44 this software without specific prior written permission.";
46 revision "2020-12-10" {
50 1) added support for optimising coupling-via-frequency-and-time-with-priorities
51 by adding enhancement to existing method through a new leaf node";
53 reference "ORAN-WG4.M.0-v05.00";
56 revision "2020-08-10" {
60 1) added RO capability to expose O-RU's ability to support udCompLen record in U-Plane section header fields
61 2) feature indicating support for static PRACH configuration introduced
62 3) feature indicating support for static SRS configuration introduced
63 4) feature indicating support for TDD pattern configuration introduced
64 5) backward compatible change to introduce new O-RU's features related
65 to Section Description Priority to serve for CUS-Plane C";
67 reference "ORAN-WG4.M.0-v04.00";
70 revision "2020-04-17" {
74 1) Adding optional little endian support
75 2) Added support for Dynamic Spectrum Sharing feature
76 3) Enable number-of-ru-ports to be different between dl and ul
77 4) Enable regularizationFactor to be signalled outside of section type 6
78 5) Enable PRACH preamble formats supported to be signalled by O-RU
79 6) adding support for selective RE sending
80 7) supporting new section extension for grouping multiple ports
81 8) signalling to enable O-RU to ndicate is requires unique ecpri sequence id
82 for eAxC_IDs serving for UL and DL for the same carrier component";
84 reference "ORAN-WG4.M.0-v03.00";
87 revision "2019-07-03" {
91 1) backward compatible change to introduce new RW leafs for use in
92 constraints in uplane-config and laa models.
93 2) removing unnecessary relations to band 46 in uplink";
95 reference "ORAN-WG4.M.0-v01.00";
98 revision "2019-02-04" {
102 1) imported model from xRAN
103 2) changed namespace and reference from xran to o-ran";
105 reference "ORAN-WG4.M.0-v01.00";
110 "Indicates that the Radio Unit supports LAA.";
113 feature EAXC-ID-GROUP-SUPPORTED {
115 "indicates that the Radio Unit supports EAXC-ID-GROUP-SUPPORTED.";
118 feature TRANSPORT-FRAGMENTATION {
120 "This leaf is used to indicate whether the O-RU supports O-RAN Radio Transport Fragmentation";
125 "Indicates that the Radio Unit supports Dynamic Spectrum Sharing between LTE and NR.";
128 feature PRACH-STATIC-CONFIGURATION-SUPPORTED {
130 "This leaf is used to indicate O-RU's support for configuration of PRACH (Physical Random Access Channel) pattern in the static manner, so that PRACH U-Plane traffic can be processed by RU without receiving C-Plane messages conveying the PRACH configuration.";
133 feature SRS-STATIC-CONFIGURATION-SUPPORTED {
135 "This leaf is used to indicate O-RU's support for configuration of SRS (Sounding Reference Signal Channel) pattern in the static manner, so that SRS U-Plane traffic can be processed by RU without receiving C-Plane messages conveying the SRS configuration.";
138 feature CONFIGURABLE-TDD-PATTERN-SUPPORTED {
140 "This leaf is used to indicate O-RU's support for configurable TDD pattern.";
143 typedef sub-band-string {
147 description "Sub bands definition";
150 typedef scs-config-type {
155 "15kHz sub carrier spacing";
160 "30kHz sub carrier spacing";
165 "60kHz sub carrier spacing";
170 "120kHz sub carrier spacing";
175 "240kHz sub carrier spacing";
180 "1,25kHz sub carrier spacing";
185 "3.75kHz sub carrier spacing";
190 "5kHz sub carrier spacing";
195 "7.5kHz sub carrier spacing";
200 "Scs configuration type definition";
203 grouping compression-method-grouping {
205 "Grouping for compression method.";
207 leaf compression-method {
209 enum BLOCK_FLOATING_POINT {
211 "Block floating point compression and decompression will be used";
216 "Block scaling compression and decompresion will be used";
221 "u-Law compression and decompresion method will be used";
226 "Beamspace compression and decompression will be used";
231 "Modulation compression and decompression will be used";
234 enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
236 "block floating point with selective re sending
237 compression and decompression will be used";
239 enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
241 "modulation compression with selective re sending
242 compression and decompression will be used";
246 "Compresion method which can be supported by the O-RU.
247 An O-RU may further refine the applicability of compression
248 methods per endpoint using o-ran-uplane-conf.yang model";
252 grouping sub-band-max-min-ul-dl-frequency {
254 "Grouping for defining max and min supported frequency - dl and ul.";
256 leaf max-supported-frequency-dl {
259 "This value indicates Maximum supported downlink frequency in the
260 LAA subband. Value unit is Hz.";
263 leaf min-supported-frequency-dl {
266 "This value indicates Minimum supported downlink frequency in the
267 LAA subband. Value unit is Hz.";
271 grouping format-of-iq-sample {
273 "Indicates module capabilities about IQ samples";
275 leaf dynamic-compression-supported {
279 "Informs if radio supports dynamic compression method";
282 leaf realtime-variable-bit-width-supported {
286 "Informs if O-RU supports realtime variable bit with";
289 list compression-method-supported {
290 uses cf:compression-details;
292 leaf-list fs-offset {
293 if-feature cf:CONFIGURABLE-FS-OFFSET;
297 "List of fs offset values supported with this IQ format / compression method;
298 fs-offset adjusts FS (full scale) value of IQ format relative to FS derived from unmodified IQ format.
299 Please refer to CU-Plane specification for details";
303 "List of supported compression methods by O-RU
304 Note: if O-RU supports different compression methods per endpoint
305 then please refer to endpoints to have information what
306 exactly is supported on paticular endpoint";
309 leaf variable-bit-width-per-channel-supported {
310 when "/module-capability/ru-capabilities/format-of-iq-sample/realtime-variable-bit-width-supported = 'true'";
314 "Informs if variable bit width per channel is supported or not";
317 leaf syminc-supported {
321 "Informs if symbol number increment command in a C-Plane is
325 leaf regularization-factor-se-supported {
329 "Informs if regularizationFactor in section type 5 is
330 supported(true) or not(false)";
333 leaf little-endian-supported {
338 "All O-RUs support bigendian byte order. This node informs if module supports the
339 the optional capability for little endian byte order for C/U plane data flows.
341 Note - little endian support does not invalidate bigendian support.";
348 "Grouping for scs-a and scs-b";
350 type scs-config-type;
352 "Sub-carrier spacing configuration";
355 type scs-config-type;
357 "Sub-carrier spacing configuration";
361 grouping ul-mixed-num-required-guard-rbs {
363 "Required number of guard resource blocks for the combination of
364 subcarrier spacing values for uplink";
366 leaf number-of-guard-rbs-ul{
369 "This value indicates the required number of guard resource blocks
370 between the mixed numerologies, the RB using scs-a and the RB
371 using scs-b. It's number is based on scs-a";
375 grouping dl-mixed-num-required-guard-rbs {
377 "Required number of guard resource blocks for the combination of
378 subcarrier spacing values for uplink";
380 leaf number-of-guard-rbs-dl{
383 "This value indicates the required number of guard resource blocks
384 between the mixed numerologies, the RB using scs-a and the RB
385 using scs-b. It's number is based on scs-a";
389 grouping ru-capabilities {
391 "Structure representing set of capabilities.";
393 leaf ru-supported-category {
397 "Informs that precoding is not supported in O-RU";
401 "Informs that precoding is supported in O-RU";
406 "Informs about which category O-RU supports";
409 leaf number-of-ru-ports {
413 "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
414 - 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.
415 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.
416 In case there are specific endpoints that support non-time-managed traffic only
417 - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
419 leaf number-of-ru-ports-ul {
422 "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
423 - the number of O-RU ports for uplink is the product of number of spatial streams (leaf number-of-spatial-streams) and number of numerologies O-RU supports.
424 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.
425 In case there are specific endpoints that support non-time-managed traffic only
426 - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
428 leaf number-of-ru-ports-dl {
431 "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
432 - the number of O-RU ports for downlink is the product of number of spatial streams (leaf number-of-spatial-streams) and number of numerologies O-RU supports.
433 For example, if the number of spatial streams is 4 then the number of O-RU ports is 8 when SSB and non-SSB are processed in the different endpoints.
434 In case there are specific endpoints that support non-time-managed traffic only
435 - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
438 leaf number-of-spatial-streams {
441 "This value indicates the number of spatial streams supported at O-RU for DL and UL.
442 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.";
445 leaf max-power-per-pa-antenna {
450 "This value indicates Maximum Power per PA per antenna. Value unit is dBm.";
453 leaf min-power-per-pa-antenna {
458 "This value indicates Minimum Power per PA per antenna. Value unit is dBm.";
461 leaf fronthaul-split-option {
466 "This value indicates the Fronthaul Split Option, i.e., 2 or 7 in this release.";
469 container format-of-iq-sample {
471 "Indicates module capabilities about IQ samples";
473 uses format-of-iq-sample;
476 list ul-mixed-num-required-guard-rbs {
479 "List of required number of guard resource blocks
480 for the combination of subcarrier spacing values for downlink";
482 uses ul-mixed-num-required-guard-rbs;
484 list dl-mixed-num-required-guard-rbs {
487 "List of required number of guard resource blocks
488 for the combination of subcarrier spacing values for uplink";
490 uses dl-mixed-num-required-guard-rbs;
493 leaf energy-saving-by-transmission-blanks {
497 "Parameter informs if unit supports energy saving by transmission blanking";
499 container eaxcid-grouping-capabilities {
500 if-feature o-ran-module-cap:EAXC-ID-GROUP-SUPPORTED;
502 "a container with parameters for eaxcid grouping";
503 leaf max-num-tx-eaxc-id-groups {
506 "Maximum number of configurable tx-eaxc-id-group supported by O-RU.";
508 leaf max-num-tx-eaxc-ids-per-group {
511 "Maximum number of member-tx-eaxc-id in single tx-eaxc-id-group supported by O-RU.";
513 leaf max-num-rx-eaxc-id-groups {
516 "the maximum number of groups with the eAxC IDs those are assigned to low-level-rx-links.";
518 leaf max-num-rx-eaxc-ids-per-group {
521 "the maximum number of eAxC IDs per rx-eaxc-id-group.";
525 leaf dynamic-transport-delay-management-supported {
529 "Parameter informs if unit supports dynamic transport delay management through eCPRI Msg 5";
532 leaf support-only-unique-ecpri-seqid-per-eaxc {
536 "Parameter informs if O-RU expects unique ecpri sequence id for eAxC_IDs serving
537 for UL and DL for the same carrier component.
539 Note: If this is set to TRUE, the O-DU can decide to either use different eAxC_IDs for UL and
540 DL or can generate unique sequence ID per eAxC_ID.
542 TAKE NOTE: This leaf is backwards compatible from an O-RU persepctive BUT an O-RU that
543 sets this leaf to TRUE may result in incompatibilities when operating with an O-DU
544 designed according to the O-RAN CUS-Plane Specification v02.00, e.g., if the O-DU is
545 incapable of using different eAxC values between UL and DL";
548 container coupling-methods {
550 "O-RU's capabilities related to supported C-Plane and U-Plane coupling methods";
552 leaf coupling-via-frequency-and-time {
555 "Coupling via frequency and time; see methods of coupling of C-plane and U-plane in CUS-Plane specification";
558 leaf coupling-via-frequency-and-time-with-priorities {
561 "Coupling via Frequency and time with priorities; see methods of coupling of C-plane and U-plane in CUS-Plane specification.
562 Note: If coupling-via-frequency-and-time-with-priorities is 'true' then coupling-via-frequency-and-time shall also be 'true'.";
565 leaf coupling-via-frequency-and-time-with-priorities-optimized {
568 "Coupling via Frequency and time with priorities optimized; see methods of coupling of C-plane and U-plane in CUS-Plane specification.
569 Note: If coupling-via-frequency-and-time-with-priorities-optmized is 'true' then coupling-via-frequency-and-time shall also be 'true'.";
573 leaf ud-comp-len-supported {
576 "This property informs if O-RU supports optional field udCompLen in U-Plane messages.
577 Only in case this leaf is present and its value is TRUE, O-RU supports U-Plane messages
578 containing udCompLen field in section header.";
582 grouping sub-band-info {
583 description "container for collection of leafs for LAA subband 46";
584 list sub-band-frequency-ranges {
586 description "frequency information on a per sub-band basis";
588 type sub-band-string;
589 description "Sub band when band 46";
591 uses sub-band-max-min-ul-dl-frequency;
593 leaf number-of-laa-scarriers {
596 "This value indicates the number of LAA secondary carriers supported at O-RU.";
599 leaf maximum-laa-buffer-size {
602 "Maximum O-RU buffer size in Kilobytes (KB) per CC. This parameter is
603 needed at the O-DU to know how much data can be sent in advance
604 and stored at the O-RU to address the LBT uncertainity.";
607 leaf maximum-processing-time {
611 "Maximum O-RU Processing time in microseconds at the O-RU to handle the
612 received/transmitted packets from/to the O-DU. This parameter is
613 needed at the O-DU to determine the time where it needs to send
614 the data to the O-RU.";
617 leaf self-configure {
619 description "This value indicates that the O-RU can manage the contention window locally. ";
623 grouping support-for-dl {
625 "Grouping for DL specific parameters";
627 leaf max-supported-frequency-dl {
630 "This value indicates Maximum supported downlink frequency. Value unit is Hz.";
633 leaf min-supported-frequency-dl {
636 "This value indicates Minimum supported downlink frequency. Value unit is Hz.";
639 leaf max-supported-bandwidth-dl {
642 "This value indicates Maximum total downlink bandwidth in module. Value unit is Hz.";
645 leaf max-num-carriers-dl {
648 "This value indicates Maximum number of downlink carriers in module.";
651 leaf max-carrier-bandwidth-dl {
654 "This value indicates Maximum bandwidth per downlink carrier. Value unit is Hz.";
657 leaf min-carrier-bandwidth-dl {
660 "This value indicates Minimum bandwidth per downlink carrier. Value unit is Hz.";
663 leaf-list supported-technology-dl {
666 description "LTE is supported in DL path.";
669 description "NR is supported in DL path.";
672 if-feature DSS_LTE_NR;
674 "DSS is supported in the DL, which implicitly means LTE and NR are also
675 BOTH supported in the DL.";
680 "This list provides information regarding technologies supported in DL path";
684 grouping support-for-ul {
686 "Grouping for UL specific parameters";
688 leaf max-supported-frequency-ul {
691 "This value indicates Maximum supported uplink frequency. Value unit is Hz.";
694 leaf min-supported-frequency-ul {
697 "This value indicates Minimum supported uplink frequency. Value unit is Hz.";
700 leaf max-supported-bandwidth-ul {
703 "This value indicates Maximum total uplink bandwidth in module. Value unit is Hz.";
706 leaf max-num-carriers-ul {
709 "This value indicates Maximum number of uplink carriers in module.";
712 leaf max-carrier-bandwidth-ul {
715 "This value indicates Maximum bandwidth per uplink carrier. Value unit is Hz.";
718 leaf min-carrier-bandwidth-ul {
721 "This value indicates Minimum bandwidth per uplink carrier. Value unit is Hz.";
724 leaf-list supported-technology-ul {
727 description "LTE is supported in UL path.";
730 description "NR is supported in UL path.";
733 if-feature DSS_LTE_NR;
735 "DSS is supported in the UL, which implicitly means LTE and NR are also
736 BOTH supported in the UL.";
741 "This list provides information regarding technologies supported in UL path";
745 grouping band-capabilities {
747 "Capabilities that are needed to be defined per each band";
755 container sub-band-info {
756 when "../band-number = '46'";
757 if-feature "o-ran-module-cap:LAA";
758 description "container for collection of leafs for LAA subband 46";
765 leaf max-num-component-carriers {
767 description "maximum number of component carriers supported by the O-RU";
772 description "maximum number of bands supported by the O-RU";
775 leaf max-num-sectors {
777 description "maximum number of sectors supported by the O-RU";
780 leaf max-power-per-antenna {
785 "This value indicates Maximum Power per band per antenna. Value unit is dBm.";
788 leaf min-power-per-antenna {
793 "This value indicates Minimum Power per band per antenna. Value unit is dBm.";
796 leaf codebook-configuration_ng {
799 "This parameter informs the precoder codebook_ng that are used for precoding";
802 leaf codebook-configuration_n1 {
805 "This parameter informs the precoder codebook_n1 that are used for precoding";
808 leaf codebook-configuration_n2 {
811 "This parameter informs the precoder codebook_n2 that are used for precoding";
815 container module-capability {
818 "module capability object responsible for providing module capability.";
820 container ru-capabilities {
823 "Structure representing set of capabilities.";
825 uses ru-capabilities;
828 list band-capabilities {
832 "Capabilities that are needed to be defined per each band";
834 uses band-capabilities;
836 container rw-sub-band-info {
837 if-feature "o-ran-module-cap:LAA";
838 description "config true leafrefs for use as constraints for config true leafs";
839 leaf rw-number-of-laa-scarriers {
841 path "/module-capability/band-capabilities/sub-band-info/number-of-laa-scarriers";
842 require-instance false;
845 "This value indicates the number of LAA secondary carriers supported at O-RU.";
847 leaf rw-self-configure {
849 path "/module-capability/band-capabilities/sub-band-info/self-configure";
850 require-instance false;
853 "This value indicates that the O-RU can manage the contention window locally.";