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