diff --git a/airoha/base-files/etc/init.d/ecnt_voice b/airoha/base-files/etc/init.d/ecnt_voice
index af7088909abcc661767de9780b7e3b7984057dc0..87f0c05667a501309555bc54166b968cc745b7d8 100755
--- a/airoha/base-files/etc/init.d/ecnt_voice
+++ b/airoha/base-files/etc/init.d/ecnt_voice
@@ -24,7 +24,23 @@ boot() {
 	sleep 1
 
 	if [ "$TCSUPPORT_CPU_ARMV8" != "" ] ;then
-		/userfs/bin/irqCpuBind set PCM1 3
+		HID=`cat /proc/tc3162/hid`
+		if [ "$HID" = "f" ] || [ "$HID" = "10" ]; then
+			CPUIDX=0x2
+			/userfs/bin/irqCpuBind set PCM1 1
+		else
+			CPUIDX=0x8
+			/userfs/bin/irqCpuBind set PCM1 3
+		fi
+
+		# Setting high priority using fifo sched
+		chrt -f -p 99 `pidof fxs_task`
+
+		taskset -p $CPUIDX `pidof fxs_task`
+		taskset -p $CPUIDX `pidof slicint_task`
+		taskset -p $CPUIDX `pidof cid_task`
+		taskset -p $CPUIDX `pidof pcmreinit_task`
+
 	else
 		if [ -f "/proc/tc3162/sys_is_1004k_support" ] ;then
 			/userfs/bin/irqCpuBind set pcm1 3