Update YANG models for OpenFronthaul M-Plane.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-module-cap.yang
@@ -5,7 +5,11 @@ module o-ran-module-cap {
 
   import o-ran-compression-factors {
     prefix "cf";
 
   import o-ran-compression-factors {
     prefix "cf";
-    revision-date 2020-08-10;
+    revision-date 2021-12-01;
+  }
+
+  import o-ran-wg4-features {
+    prefix "or-feat";
   }
 
   organization "O-RAN Alliance";
   }
 
   organization "O-RAN Alliance";
@@ -17,7 +21,7 @@ module o-ran-module-cap {
     "This module defines the module capabilities for
     the O-RAN Radio Unit.
 
     "This module defines the module capabilities for
     the O-RAN Radio Unit.
 
-    Copyright 2020 the O-RAN Alliance.
+    Copyright 2021 the O-RAN Alliance.
 
     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -43,6 +47,67 @@ module o-ran-module-cap {
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.";
 
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.";
 
+  revision "2022-12-05" {
+    description
+      "version 11.0.0
+
+      1) Deprecation of power-related capabilities and addition of min-gain
+      2) se6 rb bit handling for rbgSize equal to zero";
+
+    reference "ORAN-WG4.M.0-v11.00";
+  }
+
+  revision "2022-08-15" {
+    description
+      "version 10.0.0
+
+      1) clarified description statements for component carrier
+      2) style guide corrections
+      3) introducing new feature for ACK NACK feedback
+      4) deprecation for params in band-capabilities";
+
+    reference "ORAN-WG4.M.0-v10.00";
+  }
+
+  revision "2022-04-18" {
+    description
+      "version 9.0.0
+
+      1) aded new parameter st6-4byte-alignment-required";
+
+    reference "ORAN-WG4.M.0-v09.00";
+  }
+
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) Typographical corrections in descriptions.
+      2) deprecation of compression-method-grouping";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-07-26" {
+    description
+      "version 7.0.0
+
+      1) Added support for external antenna delay handling ";
+
+    reference "ORAN-WG4.M.0-v07.00";
+  }
+
+  revision "2021-03-22" {
+    description
+      "version 5.1.0
+
+      1) typographical corrections in descriptions.
+      2) removed non-ASCII characters
+      3) clarified number-of-ru-ports_dl/ul description ";
+
+    reference "ORAN-WG4.M.0-v05.00";
+  }
+
   revision "2020-12-10" {
     description
       "version 5.0.0
   revision "2020-12-10" {
     description
       "version 5.0.0
@@ -78,8 +143,8 @@ module o-ran-module-cap {
       5) Enable PRACH preamble formats supported to be signalled by O-RU
       6) adding support for selective RE sending
       7) supporting new section extension for grouping multiple ports
       5) Enable PRACH preamble formats supported to be signalled by O-RU
       6) adding support for selective RE sending
       7) supporting new section extension for grouping multiple ports
-      8) signalling to enable O-RU to ndicate is requires unique ecpri sequence id
-        for eAxC_IDs serving for UL and DL for the same carrier component";
+      8) signalling to enable O-RU to indicate is requires unique ecpri sequence id
+        for eAxC_IDs serving for UL and DL for the same Component Carrier";
 
     reference "ORAN-WG4.M.0-v03.00";
   }
 
     reference "ORAN-WG4.M.0-v03.00";
   }
@@ -201,24 +266,26 @@ module o-ran-module-cap {
   }
 
   grouping compression-method-grouping {
   }
 
   grouping compression-method-grouping {
+    status deprecated;
     description
     description
-      "Grouping for compression method.";
+      "Grouping for compression method.
+       Note: This grouping is deprecated. Please use the one from o-ran-compression-factors module.";
 
     leaf compression-method {
       type enumeration {
         enum BLOCK_FLOATING_POINT {
           description
 
     leaf compression-method {
       type enumeration {
         enum BLOCK_FLOATING_POINT {
           description
-            "Block floating point compression and decompression will be used";
+            "Block floating-point compression and decompression will be used";
         }
 
         enum BLOCK_SCALING {
           description
         }
 
         enum BLOCK_SCALING {
           description
-            "Block scaling compression and decompresion will be used";
+            "Block scaling compression and decompression will be used";
         }
 
         enum U_LAW {
           description
         }
 
         enum U_LAW {
           description
-            "u-Law compression and decompresion method will be used";
+            "u-Law compression and decompression method will be used";
         }
 
         enum BEAMSPACE {
         }
 
         enum BEAMSPACE {
@@ -233,7 +300,7 @@ module o-ran-module-cap {
 
         enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
           description
 
         enum BLOCK-FLOATING-POINT-SELECTIVE-RE-SENDING {
           description
-            "block floating point with selective re sending
+            "block floating-point with selective re sending
             compression and decompression will be used";
         }
         enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
             compression and decompression will be used";
         }
         enum MODULATION-COMPRESSION-SELECTIVE-RE-SENDING {
@@ -243,7 +310,7 @@ module o-ran-module-cap {
         }
       }
       description
         }
       }
       description
-        "Compresion method which can be supported by the O-RU.
+        "Compression method which can be supported by the O-RU.
         An O-RU may further refine the applicability of compression
         methods per endpoint using o-ran-uplane-conf.yang model";
     }
         An O-RU may further refine the applicability of compression
         methods per endpoint using o-ran-uplane-conf.yang model";
     }
@@ -251,20 +318,20 @@ module o-ran-module-cap {
 
   grouping sub-band-max-min-ul-dl-frequency {
     description
 
   grouping sub-band-max-min-ul-dl-frequency {
     description
-    "Grouping for defining max and min supported frequency - dl and ul.";
+    "Grouping for defining max and min supported frequency - DL and UL.";
 
     leaf max-supported-frequency-dl {
       type uint64;
       description
         "This value indicates Maximum supported downlink frequency in the
 
     leaf max-supported-frequency-dl {
       type uint64;
       description
         "This value indicates Maximum supported downlink frequency in the
-        LAA subband. Value unit is Hz.";
+        LAA sub-band. Value unit is Hz.";
     }
 
     leaf min-supported-frequency-dl {
       type uint64;
       description
         "This value indicates Minimum supported downlink frequency in the
     }
 
     leaf min-supported-frequency-dl {
       type uint64;
       description
         "This value indicates Minimum supported downlink frequency in the
-        LAA subband. Value unit is Hz.";
+        LAA sub-band. Value unit is Hz.";
     }
   }
 
     }
   }
 
@@ -283,7 +350,7 @@ module o-ran-module-cap {
       type boolean;
 
       description
       type boolean;
 
       description
-        "Informs if O-RU supports realtime variable bit with";
+        "Informs if O-RU supports real-time variable bit with";
     }
 
     list compression-method-supported {
     }
 
     list compression-method-supported {
@@ -303,7 +370,7 @@ module o-ran-module-cap {
         "List of supported compression methods by O-RU
          Note: if O-RU supports different compression methods per endpoint
                then please refer to endpoints to have information what
         "List of supported compression methods by O-RU
          Note: if O-RU supports different compression methods per endpoint
                then please refer to endpoints to have information what
-               exactly is supported on paticular endpoint";
+               exactly is supported on particular endpoint";
     }
 
     leaf variable-bit-width-per-channel-supported {
     }
 
     leaf variable-bit-width-per-channel-supported {
@@ -341,6 +408,29 @@ module o-ran-module-cap {
         Note - little endian support does not invalidate bigendian support.";
     }
 
         Note - little endian support does not invalidate bigendian support.";
     }
 
+    leaf st6-4byte-alignment-required {
+      type boolean;
+      default false;
+
+      description
+        "An optional flag indicating whether O-RU requires 4-byte aligned Section Type 6 or not.
+        If 4-byte aligned Section Type 6 is required, O-RU shall set this flag to 'true'.
+        If the leaf is ommitted or set to 'false', the O-RU operates using 1-byte aligned Section Type 6.
+        An O-DU recovering a value of 'true' shall ensure that Section Type 6 shall be
+        sent with 4-byte aligned messages, as described in clause 'Elements for the C-Plane Protocol' of
+        the CUS-Plane specification.";
+    }
+
+    leaf se6-rb-bit-supported {
+      type boolean;
+      default false;
+
+      description
+        "If this leaf node has a value 'true', then O-DU may use the 'rb' bit, in which case
+        when the O-DU sets the 'rb' bit to one, it shall also set the value of 'rbgsize' to zero and the
+        O-RU shall interpret the value of 'rb' bit as applicable to this data section. Refer 'SE 6: Non-contiguous
+        PRB allocation in time and frequency domain' requirement #3 of the CUS-Plane specification.";
+    }
   }
 
   grouping scs-a-b {
   }
 
   grouping scs-a-b {
@@ -361,7 +451,7 @@ module o-ran-module-cap {
   grouping ul-mixed-num-required-guard-rbs {
     description
       "Required number of guard resource blocks for the combination of
   grouping ul-mixed-num-required-guard-rbs {
     description
       "Required number of guard resource blocks for the combination of
-      subcarrier spacing values for uplink";
+      sub-carrier spacing values for uplink";
     uses scs-a-b;
     leaf number-of-guard-rbs-ul{
       type uint8;
     uses scs-a-b;
     leaf number-of-guard-rbs-ul{
       type uint8;
@@ -375,7 +465,7 @@ module o-ran-module-cap {
   grouping dl-mixed-num-required-guard-rbs {
     description
       "Required number of guard resource blocks for the combination of
   grouping dl-mixed-num-required-guard-rbs {
     description
       "Required number of guard resource blocks for the combination of
-      subcarrier spacing values for uplink";
+      sub-carrier spacing values for uplink";
     uses scs-a-b;
     leaf number-of-guard-rbs-dl{
       type uint8;
     uses scs-a-b;
     leaf number-of-guard-rbs-dl{
       type uint8;
@@ -419,43 +509,65 @@ module o-ran-module-cap {
     leaf number-of-ru-ports-ul {
       type uint8;
       description
     leaf number-of-ru-ports-ul {
       type uint8;
       description
-        "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
-         - 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.
-         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.
+        "Assuming all endpoints support time-managed traffic AND non-time-managed traffic AND static channel configuration (choice is as per configuration)
+         - the upper bound of the number of O-RU ports for uplink which is derived from number of spatial streams or layers (leaf number-of-spatial-streams)
+         and associated numerology O-RU supports.
+         Numerology capability per spatial stream or layer is based on eaxc id description in CUS specification section entitled
+         'ecpriRtcid / ecpriPcid (real time control data / IQ data transfer message series identifier)'
+         For example, if O-RU supports for each of 'N' spatial streams or layers 'M' numerologies (as it applies to PUSCH and PRACH), number of ports is N * M.
          In case there are specific endpoints that support non-time-managed traffic only
          In case there are specific endpoints that support non-time-managed traffic only
-         - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
+         - the number of O-RU ports calculated is extended by number of endpoints supporting only non-time-managed traffic.
+         Additionally, if there are specific endpoints that support static channel configuration only(e.g. static PRACH)
+         - the number of O-RU ports calculated above is further extended by number of endpoints supporting static channel configuration only.";
     }
     leaf number-of-ru-ports-dl {
       type uint8;
       description
         "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
     }
     leaf number-of-ru-ports-dl {
       type uint8;
       description
         "Assuming all endpoints support time-managed traffic AND non-time-managed traffic (choice is as per configuration)
-         - 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.
-         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.
-         In case there are specific endpoints that support non-time-managed traffic only
-         - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic.";
+         - the upper bound of the number of O-RU ports for downlink which is derived from number of spatial streams or layers (leaf number-of-spatial-streams)
+         and associated numerology O-RU supports.
+         Numerology capability per spatial stream or layer is based on eaxc id description in CUS specification section entitled
+         'ecpriRtcid / ecpriPcid (real time control data / IQ data transfer message series identifier)'
+         For example, if O-RU supports for each of 'N' spatial streams or layers 'M' numerologies, number of ports is N * M.
+         In case there are specific endpoints that support non-time-managed traffic only.
+         - the number of O-RU ports calculated with above mentioned equation is extended by number of endpoints supporting only non-time-managed traffic";
     }
 
     leaf number-of-spatial-streams {
       type uint8;
       description
         "This value indicates the number of spatial streams supported at O-RU for DL and UL.
     }
 
     leaf number-of-spatial-streams {
       type uint8;
       description
         "This value indicates the number of spatial streams supported at O-RU for DL and UL.
-         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.";
+         For DL, it is same as the number of antenna ports specified in 3GPP TS38.214, Section 'UE procedure for reporting channel state information (CSI)'
+         and 3GPP TS36.213, Section 'UE procedure for reporting Channel State Information (CSI)'.";
+    }
+
+    leaf max-num-bands {
+      type uint16;
+      description "maximum number of bands supported by the O-RU";
     }
 
     leaf max-power-per-pa-antenna {
       type decimal64{
         fraction-digits 4;
       }
     }
 
     leaf max-power-per-pa-antenna {
       type decimal64{
         fraction-digits 4;
       }
+      status deprecated;
       description
       description
-        "This value indicates Maximum Power per PA per antenna. Value unit is dBm.";
+        "This value indicates Maximum Power per PA per antenna. Value unit is dBm.
+
+        The parameter is deprecated. min-gain and max-gain define constraints related to
+        TX power budget, as defined in CUS-Plane, clause 8.1.3.3.";
     }
 
     leaf min-power-per-pa-antenna {
       type decimal64{
         fraction-digits 4;
       }
     }
 
     leaf min-power-per-pa-antenna {
       type decimal64{
         fraction-digits 4;
       }
+      status deprecated;
       description
       description
-        "This value indicates Minimum Power per PA per antenna. Value unit is dBm.";
+        "This value indicates Minimum Power per PA per antenna. Value unit is dBm.
+
+        The parameter is deprecated. min-gain and max-gain define constraints related to
+        TX power budget, as defined in CUS-Plane, clause 8.1.3.3.";
     }
 
     leaf fronthaul-split-option {
     }
 
     leaf fronthaul-split-option {
@@ -477,7 +589,7 @@ module o-ran-module-cap {
       key "scs-a scs-b";
       description
         "List of required number of guard resource blocks
       key "scs-a scs-b";
       description
         "List of required number of guard resource blocks
-        for the combination of subcarrier spacing values for downlink";
+        for the combination of sub-carrier spacing values for downlink";
 
       uses ul-mixed-num-required-guard-rbs;
     }
 
       uses ul-mixed-num-required-guard-rbs;
     }
@@ -485,7 +597,7 @@ module o-ran-module-cap {
       key "scs-a scs-b";
       description
         "List of required number of guard resource blocks
       key "scs-a scs-b";
       description
         "List of required number of guard resource blocks
-        for the combination of subcarrier spacing values for uplink";
+        for the combination of sub-carrier spacing values for uplink";
 
       uses dl-mixed-num-required-guard-rbs;
     }
 
       uses dl-mixed-num-required-guard-rbs;
     }
@@ -508,7 +620,7 @@ module o-ran-module-cap {
       leaf max-num-tx-eaxc-ids-per-group {
         type uint8;
         description
       leaf max-num-tx-eaxc-ids-per-group {
         type uint8;
         description
-          "Maximum number of member-tx-eaxc-id in single tx-eaxc-id-group supported by O-RU.";
+         "Maximum number of eAxC IDs per tx-eaxc-id-group supported by O-RU, where each group is a union of the 'member-tx-eaxc-id's and a 'representative-tx-eaxc-id'.";
       }
       leaf max-num-rx-eaxc-id-groups {
         type uint8;
       }
       leaf max-num-rx-eaxc-id-groups {
         type uint8;
@@ -518,7 +630,7 @@ module o-ran-module-cap {
       leaf max-num-rx-eaxc-ids-per-group {
         type uint8;
         description
       leaf max-num-rx-eaxc-ids-per-group {
         type uint8;
         description
-          "the maximum number of eAxC IDs per rx-eaxc-id-group.";
+          "Maximum number of eAxC IDs per rx-eaxc-id-group supported by O-RU, where each group is a union of the 'member-rx-eaxc-id's and a 'representative-rx-eaxc-id'.";
       }
     }
 
       }
     }
 
@@ -533,13 +645,13 @@ module o-ran-module-cap {
       type boolean;
       default false;
       description
       type boolean;
       default false;
       description
-        "Parameter informs if O-RU expects unique ecpri sequence id for eAxC_IDs serving
-        for UL and DL for the same carrier component.
+        "Parameter informs if O-RU expects unique eCPRI sequence id for eAxC_IDs serving
+        for UL and DL for the same Component Carrier.
 
         Note: If this is set to TRUE, the O-DU can decide to either use different eAxC_IDs for UL and
         DL or can generate unique sequence ID per eAxC_ID.
 
 
         Note: If this is set to TRUE, the O-DU can decide to either use different eAxC_IDs for UL and
         DL or can generate unique sequence ID per eAxC_ID.
 
-        TAKE NOTE: This leaf is backwards compatible from an O-RU persepctive BUT an O-RU that
+        TAKE NOTE: This leaf is backwards compatible from an O-RU perspective BUT an O-RU that
         sets this leaf to TRUE may result in incompatibilities when operating with an O-DU
         designed according to the O-RAN CUS-Plane Specification v02.00, e.g., if the O-DU is
         incapable of using different eAxC values between UL and DL";
         sets this leaf to TRUE may result in incompatibilities when operating with an O-DU
         designed according to the O-RAN CUS-Plane Specification v02.00, e.g., if the O-DU is
         incapable of using different eAxC values between UL and DL";
@@ -565,8 +677,8 @@ module o-ran-module-cap {
       leaf coupling-via-frequency-and-time-with-priorities-optimized {
         type boolean;
         description
       leaf coupling-via-frequency-and-time-with-priorities-optimized {
         type boolean;
         description
-          "Coupling via Frequency and time with priorities optimized; see methods of coupling of C-plane and U-plane in CUS-Plane specification.
-          Note: If coupling-via-frequency-and-time-with-priorities-optmized is 'true' then coupling-via-frequency-and-time shall also be 'true'.";
+          "Coupling via Frequency and time with priorities optimised; see methods of coupling of C-plane and U-plane in CUS-Plane specification.
+          Note: If coupling-via-frequency-and-time-with-priorities-optimized is 'true' then coupling-via-frequency-and-time shall also be 'true'.";
       }
     }
 
       }
     }
 
@@ -577,10 +689,45 @@ module o-ran-module-cap {
          Only in case this leaf is present and its value is TRUE, O-RU supports U-Plane messages
          containing udCompLen field in section header.";
     }
          Only in case this leaf is present and its value is TRUE, O-RU supports U-Plane messages
          containing udCompLen field in section header.";
     }
+
+    leaf ext-ant-delay-capability {
+      if-feature "or-feat:EXT-ANT-DELAY-CONTROL";
+      type enumeration {
+         enum PER-ARRAY-CARRIER {
+          description
+            "Informs that the O-RU supports the configuration of different t-da-offset on different tx-array-carriers,
+             and different t-au-offset on different rx-array-carriers";
+        }
+
+         enum PER-ARRAY {
+          description
+            "Informs that the O-RU supports the configuration of different t-da-offset on different tx-array-carriers
+             only when those tx-array-carriers belong to different tx-arrays,
+             and the O-RU supports the configuration of different t-au-offset on different rx-array-carriers
+             only when those rx-array-carriers belong to different rx-arrays";
+        }
+
+        enum PER-O-RU {
+          description
+            "Informs that the O-RU only supports the configuration of a common t-da-offset across all tx-array-carriers,
+             and a common t-au-offset across all rx-array-carriers";
+        }
+      }
+      description
+        "This property informs what kind of capability the O-RU supports to be configured with external antenna delay.";
+    }
+
+    leaf nack-supported {
+      type boolean;
+      description
+        "This value indicates if O-RU supports sending NACK feedback if a section extension for ACK/NACK request is received,
+        If O-RU reports supporting section extension for ACK/NACK request (section extension 22) and ACK/NACK feedback (section type 8), ACK feedback shall always be supported,
+        while NACK feedback is optionally supported according to 'nack-supported'";
+    }
   }
 
   grouping sub-band-info {
   }
 
   grouping sub-band-info {
-    description "container for collection of leafs for LAA subband 46";
+    description "container for collection of leafs for LAA sub-band 46";
     list sub-band-frequency-ranges {
       key sub-band;
       description "frequency information on a per sub-band basis";
     list sub-band-frequency-ranges {
       key sub-band;
       description "frequency information on a per sub-band basis";
@@ -601,7 +748,7 @@ module o-ran-module-cap {
       description
         "Maximum O-RU buffer size in Kilobytes (KB) per CC. This parameter is
          needed at the O-DU to know how much data can be sent in advance
       description
         "Maximum O-RU buffer size in Kilobytes (KB) per CC. This parameter is
          needed at the O-DU to know how much data can be sent in advance
-         and stored at the O-RU to address the LBT uncertainity.";
+         and stored at the O-RU to address the LBT uncertainty.";
     }
 
     leaf maximum-processing-time {
     }
 
     leaf maximum-processing-time {
@@ -610,7 +757,7 @@ module o-ran-module-cap {
       description
         "Maximum O-RU Processing time in microseconds at the O-RU to handle the
          received/transmitted packets from/to the O-DU. This parameter is
       description
         "Maximum O-RU Processing time in microseconds at the O-RU to handle the
          received/transmitted packets from/to the O-DU. This parameter is
-         needed at the O-DU to determine the time where it needs to send
+         needed at the O-DU to determine the time when it needs to send
          the data to the O-RU.";
     }
 
          the data to the O-RU.";
     }
 
@@ -755,7 +902,7 @@ module o-ran-module-cap {
     container sub-band-info {
       when "../band-number = '46'";
       if-feature "o-ran-module-cap:LAA";
     container sub-band-info {
       when "../band-number = '46'";
       if-feature "o-ran-module-cap:LAA";
-      description "container for collection of leafs for LAA subband 46";
+      description "container for collection of leafs for LAA sub-band 46";
       uses sub-band-info;
     }
 
       uses sub-band-info;
     }
 
@@ -764,12 +911,15 @@ module o-ran-module-cap {
 
     leaf max-num-component-carriers {
       type uint8;
 
     leaf max-num-component-carriers {
       type uint8;
-      description "maximum number of component carriers supported by the O-RU";
+      description "maximum number of component carriers supported by the O-RU. This parameter is the
+      cumulative value of 'max-num-carriers-dl' and 'max-num-carriers-ul'";
     }
 
     leaf max-num-bands {
       type uint16;
     }
 
     leaf max-num-bands {
       type uint16;
-      description "maximum number of bands supported by the O-RU";
+      status deprecated;
+      description "maximum number of bands supported by the O-RU.
+      Parameter moved to ru-capabilities, hence deprecated";
     }
 
     leaf max-num-sectors {
     }
 
     leaf max-num-sectors {
@@ -781,34 +931,48 @@ module o-ran-module-cap {
       type decimal64{
         fraction-digits 4;
       }
       type decimal64{
         fraction-digits 4;
       }
+      status deprecated;
       description
       description
-        "This value indicates Maximum Power per band per antenna. Value unit is dBm.";
+        "This value indicates Maximum Power per band per antenna. Value unit is dBm.
+
+        The parameter is deprecated. min-gain and max-gain define constraints related to
+        TX power budget, as defined in CUS-Plane, clause 8.1.3.3.";
     }
 
     leaf min-power-per-antenna {
       type decimal64{
         fraction-digits 4;
       }
     }
 
     leaf min-power-per-antenna {
       type decimal64{
         fraction-digits 4;
       }
+      status deprecated;
       description
       description
-        "This value indicates Minimum Power per band per antenna. Value unit is dBm.";
+        "This value indicates Minimum Power per band per antenna. Value unit is dBm.
+
+        The parameter is deprecated. min-gain and max-gain define constraints related to
+        TX power budget, as defined in CUS-Plane, clause 8.1.3.3.";
     }
 
     leaf codebook-configuration_ng {
         type uint8;
     }
 
     leaf codebook-configuration_ng {
         type uint8;
+        status deprecated;
         description
         description
-          "This parameter informs the precoder codebook_ng that are used for precoding";
+          "This parameter informs the precoder codebook_ng that are used for precoding.
+          Parameter deprecated since antenna topology already specified in [tr]x-array";
       }
 
     leaf codebook-configuration_n1 {
         type uint8;
       }
 
     leaf codebook-configuration_n1 {
         type uint8;
+        status deprecated;
         description
         description
-          "This parameter informs the precoder codebook_n1 that are used for precoding";
+          "This parameter informs the precoder codebook_n1 that are used for precoding
+          Parameter deprecated since antenna topology already specified in [tr]x-array";
       }
 
     leaf codebook-configuration_n2 {
         type uint8;
       }
 
     leaf codebook-configuration_n2 {
         type uint8;
+        status deprecated;
         description
         description
-          "This parameter informs the precoder codebook_n2 that are used for precoding";
+          "This parameter informs the precoder codebook_n2 that are used for precoding
+          Parameter deprecated since antenna topology already specified in [tr]x-array";
     }
   }
 
     }
   }