Pass parameter acc_size to AvgPool2d operator

Signed-off-by: Dmitrii Agibov <dmitrii.agibov@arm.com>
Change-Id: I4cd818af0db5e6e8a96641246cd3263ba4878f56
diff --git a/scripts/operator_api/generate_api.py b/scripts/operator_api/generate_api.py
index fd33466..afe12c1 100644
--- a/scripts/operator_api/generate_api.py
+++ b/scripts/operator_api/generate_api.py
@@ -107,6 +107,9 @@
             if attType in serTosaTypeMap.keys():
                 init = f"const {attType} {attName} = translate_client_{serTosaTypeMap[att['dType']]}(client_{attName});"
             # Initialize Serialization library attributes to their matching function parameter
+            elif tosaOpName == "avg_pool2d" and attName == "accum_dtype":
+                init = f"const tosa::DType {attName} = translate_client_acc_size(client_acc_size);"
+                att["dType"] = "tosa::DType"
             elif attName in tosaArgsDict:
                 if att["SV"] == "V":
                     if tosaArgsDict[attName]["type"] == "tosa_tensor_t":
@@ -275,10 +278,15 @@
     argsXml = opXml.getElementsByTagName("argument")
     tosaTensorTypes = getTosaArgTypes(tosaXml)
     tosaTypeMap = {"bool_t": "bool", "uint6_t": "uint8_t", "mode_t": "tosa_mode_t"}
+    tensorElemTypeMap = {
+        "resize_mode_t": "tosa_mode_t",
+        "acc_size_t": "tosa_acc_size_t",
+    }
     for xmlArg in argsXml:
         argName = xmlArg.getAttribute("name").lower()
-        if xmlArg.getAttribute("tensor-element-type") == "resize_mode_t":
-            argType = "tosa_mode_t"
+        tensorElemType = xmlArg.getAttribute("tensor-element-type")
+        if tensorElemType in tensorElemTypeMap:
+            argType = tensorElemTypeMap[tensorElemType]
         else:
             argType = xmlArg.getAttribute("type")
         argShape = xmlArg.getAttribute("shape")
diff --git a/scripts/operator_api/templates/operators_cc.j2 b/scripts/operator_api/templates/operators_cc.j2
index 6b6f864..1de103a 100644
--- a/scripts/operator_api/templates/operators_cc.j2
+++ b/scripts/operator_api/templates/operators_cc.j2
@@ -92,6 +92,19 @@
     }
 }
 
+tosa::DType translate_client_acc_size(tosa_acc_size_t acc_size) {
+    switch(acc_size) {
+        case tosa_acc_size_int32_t:
+            return tosa::DType::DType_INT32;
+        case tosa_acc_size_fp16_t:
+            return tosa::DType::DType_FP16;
+        case tosa_acc_size_fp32_t:
+            return tosa::DType::DType_FP32;
+        default:
+            return tosa::DType::DType_UNKNOWN;
+    }
+}
+
 }    // namespace
 
 extern "C"