Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / o-ran-beamforming.yang
diff --git a/ntsimulator/yang/o-ran-beamforming.yang b/ntsimulator/yang/o-ran-beamforming.yang
deleted file mode 100644 (file)
index b733430..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-module o-ran-beamforming {
-  yang-version 1.1;
-  namespace "urn:o-ran:beamforming:1.0";
-  prefix "o-ran-bf";
-
-  import o-ran-uplane-conf {
-    prefix "up";
-  }
-
-  import o-ran-module-cap {
-    prefix "mcap";
-  }
-
-  import o-ran-compression-factors {
-    prefix "cf";
-  }
-
-  organization "O-RAN Alliance";
-
-  contact
-    "www.o-ran.org";
-
-  description
-    "This module defines the beamforming capabilitites of an O-RU.
-    Only O-RUs that support beamforming shall support this module.
-
-    Copyright 2019 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
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the above disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the above disclaimer in the documentation
-    and/or other materials provided with the distribution.
-    * Neither the Members of the O-RAN Alliance nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.";
-
-  revision "2019-06-19" {
-    description
-      "version 1.1.1
-
-      1) adding possibilities to provide more compression types for beamforming";
-
-    reference "ORAN-WG4.M.0-v01.00";
-  }
-
-  revision "2019-04-01" {
-    description
-      "version 1.1.0
-
-      1) corrested xPATH boolean check from TRUE to true";
-
-    reference "ORAN-WG4.M.0-v01.00";
-  }
-
-  revision "2019-02-04" {
-    description
-      "version 1.0.0
-
-      1) imported model from xRAN
-      2) changed namespace and reference from xran to o-ran";
-
-    reference "ORAN-WG4.M.0-v01.00";
-  }
-
-
-  feature MODIFY-BF-CONFIG {
-    description
-      "This feature indicates that the O-RU supports an optional feature to
-      modify beamforming configuration information";
-  }
-
-  typedef beam-reference {
-    type leafref {
-      path "/o-ran-bf:beamforming-config/o-ran-bf:per-band-config/o-ran-bf:beam-information/o-ran-bf:beamforming-properties/o-ran-bf:beam-id";
-    }
-    description
-      "This type is used by data models that need to reference a beam.";
-  }
-
-
-  grouping beamforming-parameters {
-    leaf max-number-of-beam-ids {
-      type uint16;
-      mandatory true;
-      description
-        "Maximum number of supported Beam ID assigned to domain beamforming control";
-    }
-
-    leaf initial-beam-id {
-      type uint16;
-      mandatory true;
-      description
-        "First Beam ID that can be used for addressing of domain beams";
-    }
-
-    description "Group of common beamforming parameters";
-  }
-
-  grouping granularity-parameters {
-    leaf frequency-granularity {
-      type enumeration {
-        enum CC {
-          description
-            "Frequency granularity: per carrier component";
-        }
-
-        enum BAND {
-          description
-            "Frequency granularity: per band";
-        }
-      }
-      mandatory true;
-      description "Supported time granularity of time-domain beamforming.";
-    }
-
-    leaf time-granularity {
-      type enumeration {
-        enum SLOT {
-          description
-            "Time granularity: per slot";
-        }
-
-        enum SYMBOL {
-          description
-            "Time granularity: per symbol";
-        }
-      }
-      mandatory true;
-      description "Supported time granularity of time-domain beamforming.";
-    }
-    description "";
-  }
-
-  grouping array-lists {
-    description
-      "Grouping for array lists";
-
-    leaf-list tx-array {
-      type leafref {
-        path "/up:user-plane-configuration/up:tx-arrays/up:name";
-      }
-      description "tx arrays belonging to this band number";
-    }
-    leaf-list rx-array {
-      type leafref {
-        path "/up:user-plane-configuration/up:rx-arrays/up:name";
-      }
-      description "rx arrays belonging to this band number";
-    }
-  }
-
-  grouping static-properties {
-    description
-      "Grouping for static beamforming properties";
-
-    leaf rt-bf-weights-update-support {
-      type boolean;
-      description
-        "The parameter informs if O-RU supports real time beamforming weights update through C-Plane messaging";
-    }
-
-    choice beamforming-type {
-      case frequency {
-        container frequency-domain-beams {
-          when "../rt-bf-weights-update-support = 'true'";
-          uses beamforming-parameters;
-          uses cf:compression-details;
-
-          list additional-compression-method-supported {
-            key "iq-bitwidth compression-type";
-            uses cf:compression-details;
-
-            description
-              "List of additional supported compression methods by O-RU";
-          }
-
-          description "";
-        }
-        description "Set of parameters valid for O-RU, that supports beamforming in frequency domain.";
-      }
-
-      case time {
-        container time-domain-beams {
-          when "../rt-bf-weights-update-support = 'true'";
-          uses beamforming-parameters;
-          uses granularity-parameters;
-          uses cf:compression-details;
-
-          list additional-compression-method-supported {
-            key "iq-bitwidth compression-type";
-            uses cf:compression-details;
-
-            description
-              "List of additional supported compression methods by O-RU";
-          }
-
-          description "";
-        }
-        description "Set of parameters valid for O-RU, that supports beamforming in time domain.";
-      }
-
-      case hybrid {
-        container hybrid-beams {
-          when "../rt-bf-weights-update-support = 'true'";
-          uses beamforming-parameters;
-          uses granularity-parameters;
-          uses cf:compression-details;
-
-          list additional-compression-method-supported {
-            key "iq-bitwidth compression-type";
-            uses cf:compression-details;
-
-            description
-              "List of additional supported compression methods by O-RU";
-          }
-
-          description "";
-        }
-        description "Set of parameters valid for O-RU, that supports hybrid beamforming - in both time and frequency domain.";
-      }
-      description
-        "This value indicates beamforming type supported by O-RU";
-    }
-
-    leaf number-of-beams {
-      type uint16;
-      description
-        "This value indicates the max number of beam patterns O-RU can generate
-        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.";
-    }
-  }
-
-  grouping beamforming-property {
-    description
-      "Grouping for beamforming property";
-
-    leaf beam-type {
-      type enumeration {
-        enum COARSE {
-          description "the beam-id corresponds to a coarse beam";
-        }
-        enum FINE {
-          description "the beam-id corresponds to a fine beam";
-        }
-      }
-      description
-        "This value indicates the beam resolution.";
-    }
-
-    leaf beam-group-id {
-      type uint16;
-      description
-        "Beams with same beamGroupsID can be transmitted simultaneously.";
-    }
-
-    leaf-list coarse-fine-beam-relation {
-      type beam-reference;
-      description
-        "List of related coarse/fine beam.";
-    }
-
-    leaf-list neighbour-beams {
-      type beam-reference;
-      description
-        "A list of neighbor beams which might restrict co-scheduling due
-        to interference.";
-    }
-  }
-
-  grouping beamforming-properties-element {
-    description
-      "Grouping for beamforming-properties element";
-
-    leaf beam-id {
-      type uint16;
-      description
-        "This value indicates the beam ID whose beamforming properties are
-        described in the container.";
-    }
-
-    container beamforming-property {
-      description
-        "Structure containing single set of beamforming properties.";
-
-      uses beamforming-property;
-    }
-  }
-
-  grouping band-num {
-    description
-      "Band information for the beamforming
-       related to the band number from module capabilities";
-
-    leaf band-number {
-      type leafref {
-        path "/mcap:module-capability/mcap:band-capabilities/mcap:band-number";
-      }
-      description
-        "band information for the beamforming information
-         related to the band number of module capabilities";
-    }
-  }
-
-  grouping per-band-config-element {
-    description
-      "Grouping for per band config element";
-
-    uses band-num;
-    uses array-lists;
-
-    container static-properties {
-      description
-        "the static beamforming related information";
-
-      uses static-properties;
-    }
-
-    container beam-information {
-      description
-        "Beam information which exposes beamforming related O-RU capabilities.";
-      leaf number-of-beamforming-properties {
-        type uint16;
-        description
-          "This parameter indicates the number of beamFormingProperties entries.";
-      }
-
-      list beamforming-properties {
-        key beam-id;
-        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.";
-
-        uses beamforming-properties-element;
-      }
-    }
-  }
-
-  grouping operational-properties {
-    description
-      "Grouping for operational properties";
-
-    leaf number-of-writeable-beamforming-files {
-      type uint8  {
-        range "1 .. max";
-      }
-      mandatory true;
-      description
-        "This leaf indicates the maximum number of writeable 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";
-    }
-
-    leaf update-bf-non-delete {
-      type boolean;
-      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
-        activate-beamforming-weight without deletion of tx-array-carriers and
-        rx-array-carriers in advance, i.e., to a deactivated carrier";
-    }
-
-    leaf persistent-bf-files {
-      type boolean;
-      default false;
-      description
-        "When set to TRUE, indicates that the O-RU supports the capability
-         to store the modified beamforming weight information file in the
-         reset persistent memory";
-    }
-  }
-
-  grouping beamforming-supported-type {
-    description
-      "Grouping for type of beamforming supported";
-
-    leaf beamforming-trough-attributes-supported {
-      type boolean;
-      description
-        "Informs if beamforming can be controlled providing attributes to O-RU
-          (like angles, beamwidth).";
-    }
-
-    leaf beamforming-trough-ue-channel-info-supported {
-      type boolean;
-      description
-        "Informs if beamforming can be controlled by UE information.";
-    }
-  }
-
-  grouping beamforming-config {
-    description
-      "Grouping for beamforming configuration";
-
-    list per-band-config {
-      key band-number;
-      description "beamforming information per band";
-
-      uses per-band-config-element;
-    }
-
-    container ue-specific-beamforming {
-      presence
-        "Indicates that the O-RU supports optional Section Type '6' Fields
-        (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
-        signalling UE-specific channel information to the O-RU";
-      leaf max-number-of-ues {
-        type uint8;
-        description
-          "Indicates tha maximum number of UE -specific channel information
-          data sets supported by the O-RU";
-      }
-    }
-    container operational-properties {
-      if-feature MODIFY-BF-CONFIG;
-      description "properties for dynamic beam weight/attribute support";
-
-      uses operational-properties;
-    }
-  }
-
-  container beamforming-config {
-    config false;
-    description
-      "A set of configuration data for the O-RU's beam forming functionality";
-
-    uses beamforming-config;
-    uses beamforming-supported-type;
-  }
-
-
-  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";
-    input {
-      leaf beamforming-config-file {
-        type string;
-        mandatory true;
-        description
-          "file name stored in O-RAN/beamforming/ folder is indicated";
-      }
-
-      uses band-num;
-    }
-    output {
-      leaf status {
-        type enumeration {
-          enum ACCEPTED {
-            description "O-RU has accepted the beamforming weight/attribute file";
-          }
-          enum REJECTED {
-            description
-              "O-RU has rejected the beamforming weight/attribute file. The O-RU
-              should then use the default beamforming file.";
-          }
-        }
-        mandatory true;
-        description "Status of activation of beamforming config information";
-      }
-      leaf error-message {
-        when "../status='REJECTED'";
-        type string;
-        description
-          "Detailed error Message when the status is rejected, e.g.,
-           because new beam forming file is attempted to be applied to a
-           carrier which is still active, or the beam-id does not exist.";
-      }
-    }
-  }
-
-
-  //notification statement
-  notification beamforming-information-update {
-    uses band-num;
-    description
-      "this notification indicates that the beamforming properties are updated for particular band";
-  }
-}