Bug fix.
[sim/o1-interface.git] / ntsimulator / yang / o-ran / ru-fh / o-ran-delay-management.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 2019 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 "2019-07-03" {
43     description
44       "version 1.1.0
45
46       1) fixing descriptions of ta3-min and ta3-max.
47       2) introducing grouping/uses to enable model re-use by WG5";
48
49     reference "ORAN-WG4.M.0-v01.00";
50   }
51
52   revision "2019-02-04" {
53     description
54       "version 1.0.0
55
56       1) imported model from xRAN
57       2) changed namespace and reference from xran to o-ran";
58
59     reference "ORAN-WG4.M.0-v01.00";
60   }
61
62
63   feature ADAPTIVE-RU-PROFILE {
64     description
65       "This feature indicates that the O-RU supports adaptive O-RU delay profile
66       based on information provided by the NETCONF client.";
67   }
68
69   typedef bandwidth {
70     type uint32 {
71       range "200 | 1400 | 3000 | 5000 | 10000 | 15000 | 20000 | 25000 |
72             30000 | 40000 | 50000 | 60000 | 70000 | 80000 | 90000 | 100000
73             | 200000 | 400000" ;
74     }
75     units kilohertz;
76     description
77       "transmission bandwidth configuration in units of kHz -
78       covering NBIoT through to New Radio - see 38.104";
79   }
80
81   grouping bandwidth-configuration {
82     description
83       "Grouping for bandwidth and scs configuration";
84
85     leaf bandwidth {
86       type bandwidth;
87       description
88         "transmission bandwidth configuration in units of kHz -
89         covering NBIoT through to New Radio - see 38.104";
90     }
91     leaf subcarrier-spacing {
92       type uint32 {
93         range "0 .. 240000 ";
94       }
95       units Hertz;
96       description "subcarrier spacing in Hz";
97     }
98   }
99
100   grouping t2a-up {
101     description
102       "configuration of t2a for uplink";
103
104     leaf t2a-min-up {
105       type uint32;
106       units nanoseconds;
107       mandatory true;
108       description
109         "the minimum O-RU data processing delay between receiving IQ data
110         message over the fronthaul interface and transmitting
111         the corresponding first IQ sample at the antenna";
112     }
113     leaf t2a-max-up {
114       type uint32;
115       units nanoseconds;
116       mandatory true;
117       description
118         "the earliest allowable time when a data packet is received before
119         the corresponding first IQ sample is transmitted at the antenna";
120     }
121   }
122
123   grouping t2a-cp-dl {
124     description
125       "Grouping for t2a CP for downlink";
126
127     leaf t2a-min-cp-dl {
128       type uint32;
129       units nanoseconds;
130       mandatory true;
131       description
132         "the minimum O-RU data processing delay between receiving downlink
133         real time control plane message over the fronthaul interface and
134         transmitting the corresponding first IQ sample at the antenna";
135     }
136     leaf t2a-max-cp-dl {
137       type uint32;
138       units nanoseconds;
139       mandatory true;
140       description
141         "the earliest allowable time when a downlink real time control message
142         is received before the corresponding first IQ sample is transmitted at
143         the antenna";
144     }
145   }
146
147   grouping ta3 {
148     description
149       "Grouping for ta3 configuration";
150
151     leaf ta3-min {
152       type uint32;
153       units nanoseconds;
154       mandatory true;
155       description
156         "the minimum O-RU data processing delay between receiving an IQ sample
157         at the antenna and transmitting the first data sample over the
158         fronthaul interface";
159     }
160     leaf ta3-max {
161       type uint32;
162       units nanoseconds;
163       mandatory true;
164       description
165         "the maximum O-RU data processing delay between receiving an IQ sample
166         at the antenna and transmitting the last data sample over the
167         fronthaul interface";
168     }
169   }
170
171   grouping t2a-cp-ul {
172     description
173       "Grouping for t2a CP uplink";
174
175     leaf t2a-min-cp-ul {
176       type uint32;
177       units nanoseconds;
178       mandatory true;
179       description
180         "the minimum O-RU data processing delay between receiving real time
181         up-link control plane message over the fronthaul interface and
182         recieving the first IQ sample at the antenna";
183     }
184     leaf t2a-max-cp-ul {
185       type uint32;
186       units nanoseconds;
187       mandatory true;
188       description
189         "the earliest allowable time when a real time up-link control message
190         is received before the corresponding first IQ sample is received  at
191         the antenna";
192     }
193   }
194
195   grouping ru-delay-profile {
196     description
197       "Grouping for ru delay profile";
198
199     uses t2a-up;
200     uses t2a-cp-dl;
201
202     leaf tcp-adv-dl {
203       type uint32;
204       units nanoseconds;
205       mandatory true;
206       description
207         "the time difference (advance) between the reception window for
208         downlink real time Control messages and reception window for the
209         corresponding IQ data messages.";
210     }
211
212     uses ta3;
213     uses t2a-cp-ul;
214   }
215
216   grouping o-du-delay-profile {
217     description
218       "Grouping for O-DU delay profile";
219
220     leaf t1a-max-up {
221       type uint32;
222       units nanoseconds;
223       description
224         "the earliest possible time which the O-DU can support transmiting
225         an IQ data message prior to transmission of the corresponding IQ
226         samples at the antenna";
227     }
228     leaf tx-max {
229       type uint32;
230       units nanoseconds;
231       description
232         "The maximum amount of time which the O-DU requires to transmit
233         all downlink user plane IQ data message for a symbol";
234     }
235     leaf ta4-max {
236       type uint32;
237       units nanoseconds;
238       description
239         "the latest possible time which the O-DU can support receiving the
240         last uplink user plane IQ data message for a symbol.";
241     }
242     leaf rx-max {
243       type uint32;
244       units nanoseconds;
245       description
246         "The maximum time difference the O-DU can support between
247         receiving the first user plane IQ data message for a symbol and
248         receiving the last user plane IQ data message for the same symbol";
249     }
250   }
251
252   grouping t12 {
253     description
254       "Grouping for t12";
255
256     leaf t12-min {
257       type uint32;
258       units nanoseconds;
259       description
260         "the minimum measured delay between DU port-ID and O-RU port-ID";
261     }
262 // additional leaf added by Samsung
263     leaf t12-max {
264       type uint32;
265       units nanoseconds;
266       description
267         "the maximum measured delay between CU port-ID and O-RU port-ID";
268     }
269   }
270
271   grouping t34 {
272     description
273       "Grouping for t34";
274
275     leaf t34-min {
276       type uint32;
277       units nanoseconds;
278       description
279         "the minimum measured delay between O-RU port-ID and CU port-ID";
280     }
281 // additional leaf added by Samsung
282     leaf t34-max {
283       type uint32;
284       units nanoseconds;
285       description
286         "the maximum measured delay between O-RU port-ID and CU port-ID";
287     }
288   }
289
290   grouping delay-management-group {
291     list bandwidth-scs-delay-state {
292       key "bandwidth subcarrier-spacing";
293       description
294         "Array of structures containing sets of parameters for delay management.";
295
296       uses bandwidth-configuration;
297
298       container ru-delay-profile {
299         config false;
300         description "container for O-RU delay parameters";
301
302         uses ru-delay-profile;
303       }
304     }
305
306     container adaptive-delay-configuration {
307       if-feature ADAPTIVE-RU-PROFILE;
308       description "container for adaptive delay parameters";
309       list bandwidth-scs-delay-state {
310         key "bandwidth subcarrier-spacing";
311         description
312           "Array of structures containing sets of parameters for delay management.";
313
314         uses bandwidth-configuration;
315
316         container o-du-delay-profile {
317           description
318             "O-DU provided delay profile for adaptive delay configuration";
319
320           uses o-du-delay-profile;
321         }
322       }
323
324       container transport-delay {
325         description
326           "O-DU provided transport-delay parameters";
327         uses t12;
328         uses t34;
329       }
330     }
331   }
332   container delay-management {
333     description "top level tree covering off O-DU to O-RU delay management";
334
335     uses delay-management-group;
336   }
337 }