Add supoprt for D release use-case.
[sim/o1-interface.git] / ntsimulator / deploy / o-ran-ru-fh / yang / o-ran-delay-management@2020-08-10.yang
1 module o-ran-delay-management {
2   yang-version 1.1;
3   namespace "urn:o-ran:delay:1.0";
4   prefix "o-ran-delay";
5
6   organization "O-RAN Alliance";
7
8   contact
9     "www.o-ran.org";
10
11   description
12     "This module covers off aspects of O-DU to O-RU delay management,
13     including config data related to O-RU transmission and reception
14     windows.
15
16     Copyright 2020 the O-RAN Alliance.
17
18     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
19     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21     ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28     POSSIBILITY OF SUCH DAMAGE.
29
30     Redistribution and use in source and binary forms, with or without
31     modification, are permitted provided that the following conditions are met:
32
33     * Redistributions of source code must retain the above copyright notice,
34     this list of conditions and the above disclaimer.
35     * Redistributions in binary form must reproduce the above copyright notice,
36     this list of conditions and the above disclaimer in the documentation
37     and/or other materials provided with the distribution.
38     * Neither the Members of the O-RAN Alliance nor the names of its
39     contributors may be used to endorse or promote products derived from
40     this software without specific prior written permission.";
41
42   revision "2020-08-10" {
43     description
44       "version 4.0.0
45
46       1) introduction of new t1a-max-cp-dl leaf to enable decoupled timing between C- and U-Plane";
47
48     reference "ORAN-WG4.M.0-v04.00";
49   }
50
51   revision "2019-07-03" {
52     description
53       "version 1.1.0
54
55       1) fixing descriptions of ta3-min and ta3-max.
56       2) introducing grouping/uses to enable model re-use by WG5";
57
58     reference "ORAN-WG4.M.0-v01.00";
59   }
60
61   revision "2019-02-04" {
62     description
63       "version 1.0.0
64
65       1) imported model from xRAN
66       2) changed namespace and reference from xran to o-ran";
67
68     reference "ORAN-WG4.M.0-v01.00";
69   }
70
71
72   feature ADAPTIVE-RU-PROFILE {
73     description
74       "This feature indicates that the O-RU supports adaptive O-RU delay profile
75       based on information provided by the NETCONF client.";
76   }
77
78   typedef bandwidth {
79     type uint32 {
80       range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
81             30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
82             | 200000 | 400000" ;
83     }
84     units kilohertz;
85     description
86       "transmission bandwidth configuration in units of kHz -
87       covering NBIoT through to New Radio - see 38.104";
88   }
89
90   grouping bandwidth-configuration {
91     description
92       "Grouping for bandwidth and scs configuration";
93
94     leaf bandwidth {
95       type bandwidth;
96       description
97         "transmission bandwidth configuration in units of kHz -
98         covering NBIoT through to New Radio - see 38.104";
99     }
100     leaf subcarrier-spacing {
101       type uint32 {
102         range "0 .. 240000 ";
103       }
104       units Hertz;
105       description "subcarrier spacing in Hz";
106     }
107   }
108
109   grouping t2a-up {
110     description
111       "configuration of t2a for uplink";
112
113     leaf t2a-min-up {
114       type uint32;
115       units nanoseconds;
116       mandatory true;
117       description
118         "the minimum O-RU data processing delay between receiving IQ data
119         message over the fronthaul interface and transmitting
120         the corresponding first IQ sample at the antenna";
121     }
122     leaf t2a-max-up {
123       type uint32;
124       units nanoseconds;
125       mandatory true;
126       description
127         "the earliest allowable time when a data packet is received before
128         the corresponding first IQ sample is transmitted at the antenna";
129     }
130   }
131
132   grouping t2a-cp-dl {
133     description
134       "Grouping for t2a CP for downlink";
135
136     leaf t2a-min-cp-dl {
137       type uint32;
138       units nanoseconds;
139       mandatory true;
140       description
141         "the minimum O-RU data processing delay between receiving downlink
142         real time control plane message over the fronthaul interface and
143         transmitting the corresponding first IQ sample at the antenna";
144     }
145     leaf t2a-max-cp-dl {
146       type uint32;
147       units nanoseconds;
148       mandatory true;
149       description
150         "the earliest allowable time when a downlink real time control message
151         is received before the corresponding first IQ sample is transmitted at
152         the antenna";
153     }
154   }
155
156   grouping ta3 {
157     description
158       "Grouping for ta3 configuration";
159
160     leaf ta3-min {
161       type uint32;
162       units nanoseconds;
163       mandatory true;
164       description
165         "the minimum O-RU data processing delay between receiving an IQ sample
166         at the antenna and transmitting the first data sample over the
167         fronthaul interface";
168     }
169     leaf ta3-max {
170       type uint32;
171       units nanoseconds;
172       mandatory true;
173       description
174         "the maximum O-RU data processing delay between receiving an IQ sample
175         at the antenna and transmitting the last data sample over the
176         fronthaul interface";
177     }
178   }
179
180   grouping t2a-cp-ul {
181     description
182       "Grouping for t2a CP uplink";
183
184     leaf t2a-min-cp-ul {
185       type uint32;
186       units nanoseconds;
187       mandatory true;
188       description
189         "the minimum O-RU data processing delay between receiving real time
190         up-link control plane message over the fronthaul interface and
191         recieving the first IQ sample at the antenna";
192     }
193     leaf t2a-max-cp-ul {
194       type uint32;
195       units nanoseconds;
196       mandatory true;
197       description
198         "the earliest allowable time when a real time up-link control message
199         is received before the corresponding first IQ sample is received  at
200         the antenna";
201     }
202   }
203
204   grouping ru-delay-profile {
205     description
206       "Grouping for ru delay profile";
207
208     uses t2a-up;
209     uses t2a-cp-dl;
210
211     leaf tcp-adv-dl {
212       type uint32;
213       units nanoseconds;
214       mandatory true;
215       description
216         "the time difference (advance) between the reception window for
217         downlink real time Control messages and reception window for the
218         corresponding IQ data messages.";
219     }
220
221     uses ta3;
222     uses t2a-cp-ul;
223   }
224
225   grouping o-du-delay-profile {
226     description
227       "Grouping for O-DU delay profile";
228
229     leaf t1a-max-up {
230       type uint32;
231       units nanoseconds;
232       description
233         "the earliest possible time which the O-DU can support transmiting
234         an IQ data message prior to transmission of the corresponding IQ
235         samples at the antenna";
236     }
237     leaf tx-max {
238       type uint32;
239       units nanoseconds;
240       description
241         "The maximum amount of time which the O-DU requires to transmit
242         all downlink user plane IQ data message for a symbol";
243     }
244     leaf ta4-max {
245       type uint32;
246       units nanoseconds;
247       description
248         "the latest possible time which the O-DU can support receiving the
249         last uplink user plane IQ data message for a symbol.";
250     }
251     leaf rx-max {
252       type uint32;
253       units nanoseconds;
254       description
255         "The maximum time difference the O-DU can support between
256         receiving the first user plane IQ data message for a symbol and
257         receiving the last user plane IQ data message for the same symbol";
258     }
259     leaf t1a-max-cp-dl {
260       type uint32;
261       units nanoseconds;
262       description
263         "The earliest possible time which the O-DU can support transmitting the
264         downlink real time control message prior to transmission of the
265         corresponding IQ samples at the antenna.";
266     }
267   }
268
269   grouping t12 {
270     description
271       "Grouping for t12";
272
273     leaf t12-min {
274       type uint32;
275       units nanoseconds;
276       description
277         "the minimum measured delay between DU port-ID and O-RU port-ID";
278     }
279 // additional leaf added by Samsung
280     leaf t12-max {
281       type uint32;
282       units nanoseconds;
283       description
284         "the maximum measured delay between CU port-ID and O-RU port-ID";
285     }
286   }
287
288   grouping t34 {
289     description
290       "Grouping for t34";
291
292     leaf t34-min {
293       type uint32;
294       units nanoseconds;
295       description
296         "the minimum measured delay between O-RU port-ID and CU port-ID";
297     }
298 // additional leaf added by Samsung
299     leaf t34-max {
300       type uint32;
301       units nanoseconds;
302       description
303         "the maximum measured delay between O-RU port-ID and CU port-ID";
304     }
305   }
306
307   grouping delay-management-group {
308     list bandwidth-scs-delay-state {
309       key "bandwidth subcarrier-spacing";
310       description
311         "Array of structures containing sets of parameters for delay management.";
312
313       uses bandwidth-configuration;
314
315       container ru-delay-profile {
316         config false;
317         description "container for O-RU delay parameters";
318
319         uses ru-delay-profile;
320       }
321     }
322
323     container adaptive-delay-configuration {
324       if-feature ADAPTIVE-RU-PROFILE;
325       description "container for adaptive delay parameters";
326       list bandwidth-scs-delay-state {
327         key "bandwidth subcarrier-spacing";
328         description
329           "Array of structures containing sets of parameters for delay management.";
330
331         uses bandwidth-configuration;
332
333         container o-du-delay-profile {
334           description
335             "O-DU provided delay profile for adaptive delay configuration";
336
337           uses o-du-delay-profile;
338         }
339       }
340
341       container transport-delay {
342         description
343           "O-DU provided transport-delay parameters";
344         uses t12;
345         uses t34;
346       }
347     }
348   }
349   container delay-management {
350     description "top level tree covering off O-DU to O-RU delay management";
351
352     uses delay-management-group;
353   }
354 }