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";
-    revision-date 2020-08-10;
+    revision-date 2021-12-01;
+  }
+
+  import o-ran-wg4-features {
+    prefix "feat";
   }
 
   organization "O-RAN Alliance";
@@ -22,10 +26,10 @@ module o-ran-beamforming {
     "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.
 
-    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
@@ -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.";
 
+  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
@@ -121,14 +173,19 @@ module o-ran-beamforming {
 
   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 {
-      type uint16;
+      type uint16 {
+        range "min .. 32767";
+      }
       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
-            "Frequency granularity: per carrier component";
+            "Frequency granularity: per Component Carrier";
         }
 
         enum BAND {
@@ -205,10 +262,10 @@ module o-ran-beamforming {
         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 {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             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;
-          uses cf:compression-details;
+          uses cf:bf-compression-details;
 
           list additional-compression-method-supported {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             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;
-          uses cf:compression-details;
+          uses cf:bf-compression-details;
 
           list additional-compression-method-supported {
-            uses cf:compression-details;
+            uses cf:bf-compression-details;
 
             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.";
     }
+    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 {
@@ -303,7 +367,7 @@ module o-ran-beamforming {
       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.";
     }
 
@@ -316,7 +380,7 @@ module o-ran-beamforming {
     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.";
     }
   }
@@ -326,7 +390,9 @@ module o-ran-beamforming {
       "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.";
@@ -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.
-          'numberOfBeamformingProperties' indicaets the size of the array.";
+          'numberOfBeamformingProperties' indicates the size of the array.";
 
         uses beamforming-properties-element;
       }
@@ -415,7 +481,7 @@ module o-ran-beamforming {
       }
       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";
@@ -426,7 +492,7 @@ module o-ran-beamforming {
       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";
     }
@@ -495,13 +561,46 @@ module o-ran-beamforming {
         (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";
+
       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
-          "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 {
@@ -750,14 +849,14 @@ module o-ran-beamforming {
   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
-          "file name stored in O-RAN/beamforming/ folder is indicated";
+          "file name stored in o-ran/beamforming folder is indicated";
       }
 
       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 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
-          "file name stored in O-RAN/beamforming/ folder is indicated";
+          "file name stored in o-ran/beamforming folder is indicated";
       }
 
       uses cap-group;
@@ -833,7 +932,7 @@ module o-ran-beamforming {
   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;
     }