[Feature][Modem]Add Modem Patch P1

Change-Id: Idee4f9fd6700b484f7db86704cf5639cec4d71a2
diff --git a/mcu/custom/protocol/common/ps/custom_ssds.c b/mcu/custom/protocol/common/ps/custom_ssds.c
old mode 100644
new mode 100755
index 43d073a..666e2a1
--- a/mcu/custom/protocol/common/ps/custom_ssds.c
+++ b/mcu/custom/protocol/common/ps/custom_ssds.c
@@ -225,6 +225,7 @@
 		case 296:/* CWW-US */
 		case 306: /* CUHK-Hongkong */
 		case 314: /* Telepost-Greenland */
+        case 315: /* Tele2-Kazakhstan */
         case 318: /* Vianova/Italy */
         case 320: /* Coriolis/France */
 		case 334:/* Tashicell-Bhutan */
@@ -237,6 +238,8 @@
 		case 349:/*MTS-Armenia*/
 		case 353:/*We4G-Israel*/
         case 354: /* Poste Mobile/Italy */
+        case 366: /* Appalachian-US */
+        case 385: /* BH Mobile */
             *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
 			is_changed = KAL_TRUE;
             break;
@@ -291,6 +294,13 @@
             *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_NOT_SUPPORT;
             is_changed = KAL_TRUE;
             break;
+        case 6: /* VDF */
+            if(0 == strcmp(params_info->mcc, "655"))  /* VDF-South Africa */
+            {
+                *req_ussd_path_type = CUSTOM_SSDS_USSD_PATH_TYPE_CS;
+                is_changed = KAL_TRUE;
+            }
+            break;	
         default:
             break;
     }
@@ -1105,6 +1115,23 @@
                         break;
                 }
             }
+            else if(0 == strcmp(params_info->mcc, "612")) /* orange-Ivory Coast */
+            {
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+                switch(params_info->atcmd_type)
+                {
+                    case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+                    case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+                        atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                        break;
+                    case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                    case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                        atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                        break;						
+                    default:
+                        break;
+                }
+            }			
             break;
         }
         case 5: /* TMOEU */
@@ -3050,6 +3077,7 @@
             }
             else if(0 == strcmp(params_info->mcc, "240"))  /* Telenor SE*/
             {
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_PREFER;
                 switch(params_info->atcmd_type)
                 {
                     case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
@@ -3456,6 +3484,9 @@
                         case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR: 
                             atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
                             break;
+                        case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_BARRING:
+                            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_OPERATION_NOT_SUPPORTED_4;
+                            break;
                         default:
                             break;
                     }
@@ -4081,10 +4112,12 @@
             {
                 case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
                 case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
-		        case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
-		        case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
 		            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
                     break;
+				case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+		        case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+					atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_OPERATION_NOT_SUPPORTED_4;
+					break;
                 default:
                     break;
             }
@@ -4315,6 +4348,23 @@
             }
             break;
         }
+        case 255: /* Cellular one US */
+        {
+            if(params_info->ims_domain == CUSTOM_SSDS_IMS_DOMAIN_TYPE_WFC)
+            {
+                atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            }
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
+            }
+            break;
+        }
         case 257: /* Viaero/US */
         {
             atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
@@ -5088,6 +5138,20 @@
             }
             break;
         }
+        case 346: /* Laotel-Lao */
+        {
+            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+			switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
+            }
+            break;
+        }
 		case 348:/*Ncell-Nepal*/
 		{
 			atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
@@ -5313,6 +5377,22 @@
             }
             break;
         }
+        case 385: /* BH Mobile */
+        {
+            atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_PREFER;
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CLIR:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CLIR:
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
+            }
+            break;
+        }
         case 386: /* ENetworks/Guyana */
         {
             atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_ONLY;
@@ -5331,7 +5411,30 @@
 				atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
 			}			
             break;
-        }		
+        }
+        case 396: /* Thumb cellular -US */
+        {
+            switch(params_info->atcmd_type)
+            {
+                case CUSTOM_SSDS_ATCMD_TYPE_SET_CALL_WAITING:
+                case CUSTOM_SSDS_ATCMD_TYPE_GET_CALL_WAITING:
+                    atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_TB_SOLUTION;
+                    break;
+                default:
+                    break;
+            }
+            break;
+        }
+        case 408: /* Bitel -Peru */
+        {
+			atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_CS_ONLY;
+            break;
+        }
+		case 411: /* Evolve - Broadband */
+        {
+			atcmd_path_type = CUSTOM_SSDS_PATH_TYPE_PS_ONLY;
+            break;
+        }
         case 1002: /* Nokia IODT */
         {
             /* default config */