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