MLBEDSW-4838 Added basic TOSA support.

Added basic TOSA support, enabling Vela to
read and compile  a .tosa file corresponding to
CONV2D + Rescale + Clamp, and writing it to an
optimized .tflite file.

The optimized .tflite file, will in this case, hold
a commandstream where the Rescale and Clamp has been
fused into the CONV2D.

The optimized tflite file is not output from Vela.

  -Added support to read .tosa file into Vela
    internal structure.
      - Added tosa_reader.py, tosa_mapper.py and
        helper files stored under tosa/
      - Support for this limited to ~10 ops

    -Added reader_util.py for functions common
    for TOSA and TFLite

    -Added tosa_graph_optimiser.py
      -Added support to fuse Rescale into convolution
      -Modified handling for padding

    -Added support to fuse Clamp to previous op

    -Added graph_optimiser_util.py
      -Moved functions common for TOSA/TFLite graph
       optimization to this file.

    -Renamed graph_optimiser.py to tflite_graph_optmiser.py

    -Added separate tosa_supported_operators.py

    -Added supported_operator_util.py
       -For functions in common for TOSA/TFLite

Signed-off-by: Patrik Gustavsson <patrik.gustavsson@arm.com>
Change-Id: Ic3c540504ec8c5eb4771397fdc6882050ecf33ab
diff --git a/ethosu/vela/data_type.py b/ethosu/vela/data_type.py
index 3ad642a..07086d6 100644
--- a/ethosu/vela/data_type.py
+++ b/ethosu/vela/data_type.py
@@ -44,9 +44,11 @@
 
     __slots__ = "type", "bits"
 
+    int4: Any
     int8: Any
     int16: Any
     int32: Any
+    int48: Any
     int64: Any
     uint8: Any
     uint16: Any
@@ -113,9 +115,11 @@
 
 
 # generate the standard set of data types
+DataType.int4 = DataType(BaseType.SignedInt, 4)
 DataType.int8 = DataType(BaseType.SignedInt, 8)
 DataType.int16 = DataType(BaseType.SignedInt, 16)
 DataType.int32 = DataType(BaseType.SignedInt, 32)
+DataType.int48 = DataType(BaseType.SignedInt, 48)
 DataType.int64 = DataType(BaseType.SignedInt, 64)
 
 DataType.uint8 = DataType(BaseType.UnsignedInt, 8)