Update YANG models for OpenFronthaul M-Plane.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-beamforming.yang
@@ -13,7 +13,11 @@ module o-ran-beamforming {
 
   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 "feat";
   }
 
   organization "O-RAN Alliance";
   }
 
   organization "O-RAN Alliance";
@@ -22,10 +26,10 @@ module o-ran-beamforming {
     "www.o-ran.org";
 
   description
     "www.o-ran.org";
 
   description
-    "This module defines the beamforming capabilitites of an O-RU.
+    "This module defines the beamforming capabilities of an O-RU.
     Only O-RUs that support beamforming shall support this module.
 
     Only O-RUs that support beamforming shall support this module.
 
-    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
@@ -51,6 +55,54 @@ module o-ran-beamforming {
     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) introduce p-dash parameter";
+
+    reference "ORAN-WG4.M.0-v11.00";
+  }
+
+  revision "2022-08-15" {
+    description
+      "version 8.1.0
+
+      1) clarified description statements for component carrier
+      2) clarified path/folder description";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) typographical corrections in descriptions.
+      2) Configuration for Beamforming weights were added together with changes and updates
+         to compressions.";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
+  revision "2021-07-26" {
+    description
+      "version 2.3.0
+
+      1) Ensuring beam-ids can only be 15 bits.
+      2) Correcting maximum number of UEs from 8 bit to 15 bit";
+
+    reference "ORAN-WG4.M.0-v02.00";
+  }
+  revision "2021-03-22" {
+    description
+      "version 2.2.0
+
+      1) typographical corrections in descriptions.";
+
+    reference "ORAN-WG4.M.0-v02.00";
+  }
+
   revision "2020-04-17" {
     description
       "version 2.1.0
   revision "2020-04-17" {
     description
       "version 2.1.0
@@ -121,14 +173,19 @@ module o-ran-beamforming {
 
   grouping beamforming-parameters {
     leaf max-number-of-beam-ids {
 
   grouping beamforming-parameters {
     leaf max-number-of-beam-ids {
-      type uint16;
+      type uint16 {
+        range "min .. 32767";
+      }
+
       mandatory true;
       description
         "Maximum number of supported Beam ID assigned to domain beamforming control";
     }
 
     leaf initial-beam-id {
       mandatory true;
       description
         "Maximum number of supported Beam ID assigned to domain beamforming control";
     }
 
     leaf initial-beam-id {
-      type uint16;
+      type uint16 {
+        range "min .. 32767";
+      }
       mandatory true;
       description
         "First Beam ID that can be used for addressing of domain beams";
       mandatory true;
       description
         "First Beam ID that can be used for addressing of domain beams";
@@ -142,7 +199,7 @@ module o-ran-beamforming {
       type enumeration {
         enum CC {
           description
       type enumeration {
         enum CC {
           description
-            "Frequency granularity: per carrier component";
+            "Frequency granularity: per Component Carrier";
         }
 
         enum BAND {
         }
 
         enum BAND {
@@ -205,10 +262,10 @@ module o-ran-beamforming {
         container frequency-domain-beams {
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
         container frequency-domain-beams {
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
-          uses cf:compression-details;
+          uses cf:bf-compression-details;
 
           list additional-compression-method-supported {
 
           list additional-compression-method-supported {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             description
               "List of additional supported compression methods by O-RU";
 
             description
               "List of additional supported compression methods by O-RU";
@@ -224,10 +281,10 @@ module o-ran-beamforming {
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
           uses granularity-parameters;
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
           uses granularity-parameters;
-          uses cf:compression-details;
+          uses cf:bf-compression-details;
 
           list additional-compression-method-supported {
 
           list additional-compression-method-supported {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             description
               "List of additional supported compression methods by O-RU";
 
             description
               "List of additional supported compression methods by O-RU";
@@ -243,10 +300,10 @@ module o-ran-beamforming {
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
           uses granularity-parameters;
           when "../rt-bf-weights-update-support = 'true'";
           uses beamforming-parameters;
           uses granularity-parameters;
-          uses cf:compression-details;
+          uses cf:bf-compression-details;
 
           list additional-compression-method-supported {
 
           list additional-compression-method-supported {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             description
               "List of additional supported compression methods by O-RU";
 
             description
               "List of additional supported compression methods by O-RU";
@@ -267,6 +324,13 @@ module o-ran-beamforming {
         and apply to the signal of each O-RU port (both DL and UL).
         This value is equivalent to the maximum number of used beam IDs.";
     }
         and apply to the signal of each O-RU port (both DL and UL).
         This value is equivalent to the maximum number of used beam IDs.";
     }
+    leaf p-dash {
+      type uint16;
+      description
+        "This parameters specifies the dimesionality of the time-domain beamforming operation. Refer to description of parameter p'
+        in clause 12.4.3.4.2 of CUS-Plane specification. This parameter is required to define the size of time-domain beamforming
+        vector in case of hybrid/time-domain beamforming is supported by O-RU";
+    }    
   }
 
   grouping beamforming-property {
   }
 
   grouping beamforming-property {
@@ -303,7 +367,7 @@ module o-ran-beamforming {
       type beam-reference;
       status deprecated;
       description
       type beam-reference;
       status deprecated;
       description
-        "A list of neighbor beams which might restrict co-scheduling due
+        "A list of neighbour beams which might restrict co-scheduling due
         to interference.";
     }
 
         to interference.";
     }
 
@@ -316,7 +380,7 @@ module o-ran-beamforming {
     leaf-list neighbour-beams-capability-based {
       type beam-capabilities-reference;
       description
     leaf-list neighbour-beams-capability-based {
       type beam-capabilities-reference;
       description
-        "A list of neighbor beams which might restrict co-scheduling due
+        "A list of neighbour beams which might restrict co-scheduling due
         to interference.";
     }
   }
         to interference.";
     }
   }
@@ -326,7 +390,9 @@ module o-ran-beamforming {
       "Grouping for beamforming-properties element";
 
     leaf beam-id {
       "Grouping for beamforming-properties element";
 
     leaf beam-id {
-      type uint16;
+      type uint16 {
+        range "min .. 32767";
+      }
       description
         "This value indicates the beam ID whose beamforming properties are
         described in the container.";
       description
         "This value indicates the beam ID whose beamforming properties are
         described in the container.";
@@ -398,7 +464,7 @@ module o-ran-beamforming {
         description
           "Array for the beamforming properties at O-RU.
           These parameters can be used by the beamforming control by the NETCONF client.
         description
           "Array for the beamforming properties at O-RU.
           These parameters can be used by the beamforming control by the NETCONF client.
-          'numberOfBeamformingProperties' indicaets the size of the array.";
+          'numberOfBeamformingProperties' indicates the size of the array.";
 
         uses beamforming-properties-element;
       }
 
         uses beamforming-properties-element;
       }
@@ -415,7 +481,7 @@ module o-ran-beamforming {
       }
       mandatory true;
       description
       }
       mandatory true;
       description
-        "This leaf indicates the maximum number of writeable beamforming files
+        "This leaf indicates the maximum number of writable beamforming files
         containing beamweights and/or attributes that the O-RU can store, taking
         into account the maximum number of beam-IDs as defined by 3GPP
         TS38.214 v15.x.x";
         containing beamweights and/or attributes that the O-RU can store, taking
         into account the maximum number of beam-IDs as defined by 3GPP
         TS38.214 v15.x.x";
@@ -426,7 +492,7 @@ module o-ran-beamforming {
       default false;
       description
         "When set to TRUE, indicates that an O-RU supports the capability
       default false;
       description
         "When set to TRUE, indicates that an O-RU supports the capability
-        to apply the modified beamforming weight information by using rpc
+        to apply the modified beamforming weight information by using RPC
         activate-beamforming-weight without deletion of tx-array-carriers and
         rx-array-carriers in advance, i.e., to a deactivated carrier";
     }
         activate-beamforming-weight without deletion of tx-array-carriers and
         rx-array-carriers in advance, i.e., to a deactivated carrier";
     }
@@ -495,13 +561,46 @@ module o-ran-beamforming {
         (used for sending channel information for a specific UE)";
       config false;
       description
         (used for sending channel information for a specific UE)";
       config false;
       description
-        "Information related to supput by the O-RU of Section Type 6 for
+        "Information related to support by the O-RU of Section Type 6 for
         signalling UE-specific channel information to the O-RU";
         signalling UE-specific channel information to the O-RU";
+
       leaf max-number-of-ues {
         type uint8;
       leaf max-number-of-ues {
         type uint8;
+        status deprecated;
+        description
+          "Indicates the maximum number of UE -specific channel information
+          data sets supported by the O-RU.
+
+          Leaf is deprecated as it only enabled a maximum of 255 UEs to be supported,
+          compared with ST5 and ST6 which supports a 15 bit value.
+
+          NETCONF client instead uses max-number-ues-15bit schema node";
+      }
+      leaf max-number-of-ues-15bit {
+        type uint16 {
+          range "1 .. 32767";
+        }
+        description
+          "Indicates the maximum number of UE -specific channel information
+          data sets supported by the O-RU,
+          It is restricted to 15 bits value because of the 15bits ueId field in ST5 and ST6";
+      }
+
+      leaf-list channel-information-compression-method-supported {
+        if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
+        type cf:ci-compression-method-def;
+        description
+           "list of channel information compression methods supported by the O-RU";
+      }
+
+      leaf dynamic-channel-information-compression-supported {
+        if-feature "feat:CHANNEL-INFORMATION-COMPRESSION";
+        type boolean;
         description
         description
-          "Indicates tha maximum number of UE -specific channel information
-          data sets supported by the O-RU";
+           "Informs if dynamic channel information compression supported by the O-RU,
+            if its value is true, the compression method and IQ bit width can be dynamic in ciCompHdr;
+            if its value is false, only static configuration compression configuration is supported, and ciCompHdr
+            shall be set to a fixed value corresponding to the static configured compression method and IQ bit width.";
       }
     }
     container operational-properties {
       }
     }
     container operational-properties {
@@ -750,14 +849,14 @@ module o-ran-beamforming {
   rpc activate-beamforming-config {
     if-feature MODIFY-BF-CONFIG;
     description
   rpc activate-beamforming-config {
     if-feature MODIFY-BF-CONFIG;
     description
-      "rpc to activate beamforming config information by indicating the file
-      stored in the folder O-RAN/beam-weights in advance";
+      "RPC to activate beamforming config information by indicating the file
+      stored in the folder o-ran/beamforming in advance";
     input {
       leaf beamforming-config-file {
         type string;
         mandatory true;
         description
     input {
       leaf beamforming-config-file {
         type string;
         mandatory true;
         description
-          "file name stored in O-RAN/beamforming/ folder is indicated";
+          "file name stored in o-ran/beamforming folder is indicated";
       }
 
       uses band-num;
       }
 
       uses band-num;
@@ -791,14 +890,14 @@ module o-ran-beamforming {
   rpc activate-beamforming-config-by-capability-group {
     if-feature MODIFY-BF-CONFIG;
     description
   rpc activate-beamforming-config-by-capability-group {
     if-feature MODIFY-BF-CONFIG;
     description
-      "rpc to activate beamforming config information by indicating the file
-      stored in the folder O-RAN/beam-weights in advance";
+      "RPC to activate beamforming config information by indicating the file
+      stored in the folder o-ran/beamforming in advance";
     input {
       leaf beamforming-config-file {
         type string;
         mandatory true;
         description
     input {
       leaf beamforming-config-file {
         type string;
         mandatory true;
         description
-          "file name stored in O-RAN/beamforming/ folder is indicated";
+          "file name stored in o-ran/beamforming folder is indicated";
       }
 
       uses cap-group;
       }
 
       uses cap-group;
@@ -833,7 +932,7 @@ module o-ran-beamforming {
   rpc modify-predefined-beam-tilt-offset {
     if-feature BEAM-TILT;
     description
   rpc modify-predefined-beam-tilt-offset {
     if-feature BEAM-TILT;
     description
-      "rpc to trigger the modification of the predefined beam tilt offset";
+      "RPC to trigger the modification of the predefined beam tilt offset";
     input {
       uses beam-tilt-configuration;
     }
     input {
       uses beam-tilt-configuration;
     }