Update YANG models for OpenFronthaul M-Plane.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-delay-management.yang
@@ -10,7 +10,7 @@ module o-ran-delay-management {
 
   description
     "This module covers off aspects of O-DU to O-RU delay management,
-    including config data related to O-RU transmission and reception
+    including configuration data related to O-RU transmission and reception
     windows.
 
     Copyright 2020 the O-RAN Alliance.
@@ -39,6 +39,25 @@ module o-ran-delay-management {
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.";
 
+  revision "2022-08-15" {
+    description
+      "version 10.0.0
+
+      1) introducing new feature for ACK NACK feedback.";
+
+    reference "ORAN-WG4.M.0-v10.00";
+  }
+
+  revision "2021-12-01" {
+    description
+      "version 8.0.0
+
+      1) typographical corrections in descriptions.
+      2) add new schema node beam-context-gap-period.";
+
+    reference "ORAN-WG4.M.0-v08.00";
+  }
+
   revision "2020-08-10" {
     description
       "version 4.0.0
@@ -89,7 +108,7 @@ module o-ran-delay-management {
 
   grouping bandwidth-configuration {
     description
-      "Grouping for bandwidth and scs configuration";
+      "Grouping for bandwidth and SCS configuration";
 
     leaf bandwidth {
       type bandwidth;
@@ -102,7 +121,7 @@ module o-ran-delay-management {
         range "0 .. 240000 ";
       }
       units Hertz;
-      description "subcarrier spacing in Hz";
+      description "sub-carrier spacing in Hz";
     }
   }
 
@@ -188,7 +207,7 @@ module o-ran-delay-management {
       description
         "the minimum O-RU data processing delay between receiving real time
         up-link control plane message over the fronthaul interface and
-        recieving the first IQ sample at the antenna";
+        receiving the first IQ sample at the antenna";
     }
     leaf t2a-max-cp-ul {
       type uint32;
@@ -201,9 +220,35 @@ module o-ran-delay-management {
     }
   }
 
+  grouping ta3-ack {
+    description
+      "Grouping for ta3-ack configuration";
+    leaf ta3-min-ack {
+      type int32;
+      units nanoseconds;
+      description
+        "the minimum delay between the DL/UL air reference point (tDL=0 or tUL=0) of symbol M
+        and the time O-RU sends section type 8 (ACK/NACK feedback) to O-DU.
+        This value can be negative, which indicates it is in advance of the air reference point.
+        This leaf only exists if section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback)
+        are supported by at least one endpoint.";
+    }
+
+    leaf ta3-max-ack {
+      type int32;
+      units nanoseconds;
+      description
+        "the maximum delay between the DL/UL air reference point (tDL=0 or tUL=0) of symbol M
+        and the time O-RU sends section type 8 (ACK/NACK feedback) to O-DU.
+        This value can be negative, which indicates it is in advance of the air reference point.
+        This leaf only exists if section extension 22 (ACK/NACK request) and section type 8 (ACK/NACK feedback)
+        are supported by at least one endpoint.";
+    }
+  }
+
   grouping ru-delay-profile {
     description
-      "Grouping for ru delay profile";
+      "Grouping for RU delay profile";
 
     uses t2a-up;
     uses t2a-cp-dl;
@@ -220,6 +265,7 @@ module o-ran-delay-management {
 
     uses ta3;
     uses t2a-cp-ul;
+    uses ta3-ack;
   }
 
   grouping o-du-delay-profile {
@@ -230,7 +276,7 @@ module o-ran-delay-management {
       type uint32;
       units nanoseconds;
       description
-        "the earliest possible time which the O-DU can support transmiting
+        "the earliest possible time which the O-DU can support transmitting
         an IQ data message prior to transmission of the corresponding IQ
         samples at the antenna";
     }
@@ -305,6 +351,7 @@ module o-ran-delay-management {
   }
 
   grouping delay-management-group {
+    description "a delay management grouping";
     list bandwidth-scs-delay-state {
       key "bandwidth subcarrier-spacing";
       description
@@ -345,9 +392,22 @@ module o-ran-delay-management {
         uses t34;
       }
     }
+
+    leaf beam-context-gap-period {
+      type uint16;
+      units microseconds;
+      description
+        "Time gap between the end of reception window of the C-Plane message(Msg-A) with new beam weights for a given beamId and end of the reception window
+        of the C-Plane message(Msg-B) that cites the same beamId without weights in the new context.
+        Note: Value of '0' indicates that the end of the Msg-A and Msg-B reception windows are perfectly aligned, which should allow Msg-B to use the new
+        beamforming weights with a '0' microsecond beam-context-gap-period. Value of '65535' implies infinite gap, which means a beamId may not be reused
+        at all in a different context (applicable only to weight-based dynamic beamforming). If O-DU chooses not to interpret/honor this value, behaviour
+        of O-RU is unpredictable if a beamId has new weights loaded in one context and is reused in a different context. Please refer the CUS-Plane spec
+        Section 'Weight-based dynamic beamforming' for detailed description";
+    }
   }
   container delay-management {
-    description "top level tree covering off O-DU to O-RU delay management";
+    description "top-level tree covering off O-DU to O-RU delay management";
 
     uses delay-management-group;
   }