audio: update mixer table

Change list:
1.Release 1st version of TI bin file/acdb/mixer
2.Set speaker gain in the mixer table
3.Disable waves in the acdb table
4.change cirrus config to tas config
5.add calibration config and tool

Test: build pass, playback normal
Bug: 163015711
Signed-off-by: vincenttew <vincenttew@google.com>
Change-Id: I20d85239bafe2a6dcb257fb3eba9ea51168a976a
diff --git a/audio/acdbdata/Speaker_cal.acdb b/audio/acdbdata/Speaker_cal.acdb
index c35d6d1..27e96fc 100644
--- a/audio/acdbdata/Speaker_cal.acdb
+++ b/audio/acdbdata/Speaker_cal.acdb
Binary files differ
diff --git a/audio/cs35l41/R-cs35l41-dsp1-spk-cali.bin b/audio/cs35l41/R-cs35l41-dsp1-spk-cali.bin
deleted file mode 100644
index a624d50..0000000
--- a/audio/cs35l41/R-cs35l41-dsp1-spk-cali.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/R-cs35l41-dsp1-spk-diag.bin b/audio/cs35l41/R-cs35l41-dsp1-spk-diag.bin
deleted file mode 100644
index 2887e93..0000000
--- a/audio/cs35l41/R-cs35l41-dsp1-spk-diag.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/R-cs35l41-dsp1-spk-prot.bin b/audio/cs35l41/R-cs35l41-dsp1-spk-prot.bin
deleted file mode 100644
index d41d2ba..0000000
--- a/audio/cs35l41/R-cs35l41-dsp1-spk-prot.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-cali.bin b/audio/cs35l41/cs35l41-dsp1-spk-cali.bin
deleted file mode 100644
index 8baf28b..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-cali.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-cali.wmfw b/audio/cs35l41/cs35l41-dsp1-spk-cali.wmfw
deleted file mode 100644
index 83dbe7e..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-cali.wmfw
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-diag.bin b/audio/cs35l41/cs35l41-dsp1-spk-diag.bin
deleted file mode 100644
index 4638b9c..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-diag.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-diag.wmfw b/audio/cs35l41/cs35l41-dsp1-spk-diag.wmfw
deleted file mode 100644
index b708cde..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-diag.wmfw
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-prot.bin b/audio/cs35l41/cs35l41-dsp1-spk-prot.bin
deleted file mode 100644
index e6f2448..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-prot.bin
+++ /dev/null
Binary files differ
diff --git a/audio/cs35l41/cs35l41-dsp1-spk-prot.wmfw b/audio/cs35l41/cs35l41-dsp1-spk-prot.wmfw
deleted file mode 100644
index 83dbe7e..0000000
--- a/audio/cs35l41/cs35l41-dsp1-spk-prot.wmfw
+++ /dev/null
Binary files differ
diff --git a/audio/mixer_paths_bolero_snd.xml b/audio/mixer_paths_bolero_snd.xml
index 78c1d32..29801d2 100644
--- a/audio/mixer_paths_bolero_snd.xml
+++ b/audio/mixer_paths_bolero_snd.xml
@@ -491,66 +491,21 @@
     <ctl name="PRI TDM TX Channel Offset" id="2" value="12" />
     <!-- ALC5513 config end-->
 
-    <!-- CS35L41 config -->
+    <!-- TAS256x config -->
     <!-- QCT QUIN TDM settings -->
     <ctl name="QUIN_TDM_RX_0 Channels" value="Two" />
     <ctl name="QUIN_TDM_TX_0 Channels" value="Four" />
-    <ctl name="QUIN_TDM_RX_0 Format" value="S32_LE" />
-    <ctl name="QUIN_TDM_TX_0 Format" value="S32_LE" />
+    <ctl name="QUIN_TDM_RX_0 Format" value="S24_LE" />
+    <ctl name="QUIN_TDM_TX_0 Format" value="S24_LE" />
     <ctl name="QUIN_TDM_RX_0 SampleRate" value="KHZ_48" />
     <ctl name="QUIN_TDM_TX_0 SampleRate" value="KHZ_48" />
     <!-- QCT QUIN TDM settings end-->
-    <!-- CS35L41 gain -->
-    <ctl name="AMP PCM Gain" value="17" />
-    <ctl name="R AMP PCM Gain" value="17" />
-    <ctl name="Digital PCM Volume" value="817" />
-    <ctl name="R Digital PCM Volume" value="817" />
-    <!-- CS35L41 gain end-->
-    <!-- CS35L41 enable to control gain function -->
-    <ctl name="DRE DRE Switch" value="1" />
-    <ctl name="R DRE DRE Switch" value="1" />
-    <ctl name="VBSTMON Output Switch" value="1" />
-    <ctl name="R VBSTMON Output Switch" value="1" />
-    <!-- CS35L41 enable to control gain function end-->
-    <ctl name="PCM Source" value="DSP" />
-    <ctl name="R PCM Source" value="DSP" />
-    <ctl name="DSP1 Firmware" value="Protection" />
-    <ctl name="R DSP1 Firmware" value="Protection" />
-    <ctl name="Main AMP Enable Switch" value="0" />
-    <ctl name="R Main AMP Enable Switch" value="0" />
-    <!-- CS35L41 RX slot -->
-    <ctl name="ASPRX1 Slot Position" value="0" />
-    <ctl name="R ASPRX1 Slot Position" value="1" />
-    <ctl name="ASPRX2 Slot Position" value="0" />
-    <ctl name="R ASPRX2 Slot Position" value="1" />
-    <!-- CS35L41 RX slot end-->
-    <!-- CS35L41 TX source -->
-    <ctl name="ASP TX1 Source" value="DSPTX1" />
-    <ctl name="R ASP TX1 Source" value="DSPTX1" />
-    <ctl name="ASP TX2 Source" value="Zero" />
-    <ctl name="R ASP TX2 Source" value="Zero" />
-    <ctl name="ASP TX3 Source" value="Zero" />
-    <ctl name="R ASP TX3 Source" value="Zero" />
-    <ctl name="ASP TX4 Source" value="Zero" />
-    <ctl name="R ASP TX4 Source" value="Zero" />
-    <!-- CS35L41 TX source end -->
-    <!-- CS35L41 TX slot(to QCT ADSP) -->
-    <ctl name="ASPTX1 Slot Position" value="1" />
-    <ctl name="R ASPTX1 Slot Position" value="0" />
-    <ctl name="ASPTX2 Slot Position" value="4" />
-    <ctl name="R ASPTX2 Slot Position" value="5" />
-    <ctl name="ASPTX3 Slot Position" value="2" />
-    <ctl name="R ASPTX3 Slot Position" value="6" />
-    <ctl name="ASPTX4 Slot Position" value="3" />
-    <ctl name="R ASPTX4 Slot Position" value="7" />
-    <!-- CS35L41 TX slot(to QCT ADSP) end-->
-    <!-- CS35L41 dsp(firmware) source -->
-    <ctl name="DSP RX1 Source" value="ASPRX1" />
-    <ctl name="R DSP RX1 Source" value="ASPRX1" />
-    <ctl name="DSP RX2 Source" value="ASPRX1" />
-    <ctl name="R DSP RX2 Source" value="ASPRX1" />
-    <!-- CS35L41 dsp(firmware) source end-->
-    <!-- CS35L41 config end-->
+    <!-- TAS2562 control setting -->
+    <ctl name="TAS256X ASI Left Switch" value="0" />
+    <ctl name="TAS256X ASI Right Switch" value="0" />
+    <ctl name="TAS256X ASI1 SEL LEFT" value="Left" />
+    <ctl name="TAS256X ASI1 SEL RIGHT" value="Right" />
+    <!-- TAS2562 control setting end-->
 
     <!-- These are audio route (FE to BE) specific mixer settings -->
     <path name="gsm-mode">
@@ -1977,25 +1932,34 @@
     </path>
 
     <path name="handset">
-        <ctl name="Main AMP Enable Switch" value="1"/>
-        <ctl name="R Main AMP Enable Switch" value="0"/>
-        <ctl name="PCM Source" value="ASP" />
-        <ctl name="AMP PCM Gain" value="10" />
+        <ctl name="TAS256X ASI Left Switch" value="1" />
+        <ctl name="TAS256X ASI Right Switch" value="0" />
+        <ctl name="TAS256X PLAYBACK VOLUME LEFT" value="39" />
+        <ctl name="TAS256X PLAYBACK VOLUME RIGHT" value="47" />
     </path>
 
+    <!--L:-16dB R:-8dB-->
     <path name="speaker">
-        <ctl name="Main AMP Enable Switch" value="1"/>
-        <ctl name="R Main AMP Enable Switch" value="1"/>
+        <ctl name="TAS256X ASI Left Switch" value="1" />
+        <ctl name="TAS256X ASI Right Switch" value="1" />
+        <ctl name="TAS256X PLAYBACK VOLUME LEFT" value="39" />
+        <ctl name="TAS256X PLAYBACK VOLUME RIGHT" value="47" />
     </path>
 
+    <!--L:-16dB R:-8dB-->
     <path name="speaker-mono">
-        <ctl name="Main AMP Enable Switch" value="0"/>
-        <ctl name="R Main AMP Enable Switch" value="1"/>
+        <ctl name="TAS256X ASI Left Switch" value="0" />
+        <ctl name="TAS256X ASI Right Switch" value="1" />
+        <ctl name="TAS256X PLAYBACK VOLUME LEFT" value="39" />
+        <ctl name="TAS256X PLAYBACK VOLUME RIGHT" value="47" />
     </path>
 
+    <!--L:-16dB R:-8dB-->
     <path name="speaker-mono-2">
-        <ctl name="Main AMP Enable Switch" value="0"/>
-        <ctl name="R Main AMP Enable Switch" value="1"/>
+        <ctl name="TAS256X ASI Left Switch" value="0" />
+        <ctl name="TAS256X ASI Right Switch" value="1" />
+        <ctl name="TAS256X PLAYBACK VOLUME LEFT" value="39" />
+        <ctl name="TAS256X PLAYBACK VOLUME RIGHT" value="47" />
     </path>
 
     <path name="speaker-safe">
@@ -3021,18 +2985,4 @@
 
     <path name="call-proxy-in">
     </path>
-
-    <!-- cs35l41 specific path to load firmware in cs35l41-playback.c -->
-    <path name="cs35l41-load-protection-firmware-start">
-        <ctl name="DSP Booted" value="0" />
-        <ctl name="R DSP Booted" value="0" />
-        <ctl name="DSP1 Preload Switch" value="0" />
-        <ctl name="R DSP1 Preload Switch" value="0" />
-    </path>
-
-    <path name="cs35l41-load-protection-firmware-end">
-        <ctl name="DSP1 Preload Switch" value="1" />
-        <ctl name="R DSP1 Preload Switch" value="1" />
-    </path>
-    <!-- cs35l41 specific path to load firmware in cs35l41-playback.c end-->
 </mixer>
diff --git a/audio/tas2562/PinkNoise_m22db_RmsPow.wav b/audio/tas2562/PinkNoise_m22db_RmsPow.wav
new file mode 100644
index 0000000..5783319
--- /dev/null
+++ b/audio/tas2562/PinkNoise_m22db_RmsPow.wav
Binary files differ
diff --git a/audio/tas2562/Silence.wav b/audio/tas2562/Silence.wav
new file mode 100644
index 0000000..3e752fe
--- /dev/null
+++ b/audio/tas2562/Silence.wav
Binary files differ
diff --git a/audio/tas2562/TAS_FactoryApp b/audio/tas2562/TAS_FactoryApp
new file mode 100755
index 0000000..e93ec6a
--- /dev/null
+++ b/audio/tas2562/TAS_FactoryApp
Binary files differ
diff --git a/audio/tas2562/calib.config b/audio/tas2562/calib.config
new file mode 100644
index 0000000..81f0d24
--- /dev/null
+++ b/audio/tas2562/calib.config
@@ -0,0 +1,2 @@
+6;9;500.0;1200.0;0.6;3.0;10.0;90.0;6;9;550.0;1100.0;0.6;3.0;10.0;90.0;
+
diff --git a/audio/tas2562/tas25xx_TI_0.bin b/audio/tas2562/tas25xx_TI_0.bin
new file mode 100644
index 0000000..7f1711d
--- /dev/null
+++ b/audio/tas2562/tas25xx_TI_0.bin
Binary files differ
diff --git a/audio/tas2562/tas25xx_TI_0.ppc3 b/audio/tas2562/tas25xx_TI_0.ppc3
new file mode 100644
index 0000000..54b80ac
--- /dev/null
+++ b/audio/tas2562/tas25xx_TI_0.ppc3
Binary files differ
diff --git a/audio/tas2562/tas25xx_TI_0.xml b/audio/tas2562/tas25xx_TI_0.xml
new file mode 100644
index 0000000..ed770d5
--- /dev/null
+++ b/audio/tas2562/tas25xx_TI_0.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<INTERFACE_LIST app="PPC3 Custom Solution" version="1.6.3" epoch="1597316798059">
+  <USECASE name="MUSIC">
+    <INTERFACE name="CAPI_V2_SP_RX_CFG_1_PARAM_ID" I_id="0x00012D15" hexStr="94030000940300005f04016800000000000000000100000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000003c0100004200000000681000000000000000000043773c50bd88c3af43773c50c39afd467b5809cd43773c50bd88c3af43773c50c39afd467b5809cd9570616e966e7689ffffff7f6a9189766b8f9e9180dc3e0980dc3e0980dc3e09c39afd467b5809cd80dc3e0980dc3e0980dc3e09c39afd467b5809cdda24dd7626db2289da24dd766a9189766b8f9e91da24dd7626db2289da24dd766a9189766b8f9e917193530071935300719353006a9189766b8f9e917193530071935300719353006a9189766b8f9e91000000040000000400000004943ee97f943ee97f2b7a0f452b7a0f450000000600000006000080000000800000008000000080006cc116006cc116006cc116006cc11600610bb600610bb6005334f800a105d904a105d904a105d904943ee97f943ee97f943ee97f2b7a0f452b7a0f452b7a0f45000000060000000600000006000000c0000000c0000000c06cac162f6cac162f6cac162f000000020000000200000002000400000004000000040000625700406257004062570040ffffff7fffffff7fffffff7f6cc116006cc116009697e9008509fb0afeb3a7f85bdf93055a6f867c71d01485000000c0000000c0000000c00000004000000040acf79d5a3de72640a17ca613000000c0a17ca6130bb7ae0247fdfe7f000000c000000000b4a4fefe200300000000001027e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd89f548517d000000c0943ee97f943ee97f943ee97f2b7a0f452b7a0f452b7a0f45000000060000000600000006ffffff7f27e35301d2f5ddfe27e353012a6eef7ab971bd89064ba20000000000000000000000000000000000000000000000000000000000000000000000000000000000f920463ba1ee1c00b65c0a006c00000096954611a4411a40f661672d01bb190000000000ff44e6ff948ef87f80dd0c800000004006bb020006bb02004d17000080632400a17ca6138063240086a60d0006bb0200bba96f01bdeb0a00fc750500806324008063240000000023a6cd620200008019f341570001000000000023000000000000000000527c0700ae83f87f491102007f9b1d028164e27deb222c07000000000000000047fdfe7f000000c000000000b4a4fefeffffff7fd6afb501b095d8014c82a6f9a2250a055edaf502d1128506048c7700cc610000a551040036a7070026ae6c025bc551020000004000000000000000400000004000000040000000c0a17ca6137f9b1d02ffffff7f000000000000000000000000000000003af64c013caf40ff3af64c01bc213668f39d5baaffffff7f3c50578bffffff7f390e8375ffba2a9000000008dc46030076475708b76d11f909d1ab032ef14d0231dc5902e3530000dc46030000000008ffffff7f7f39000027612a0788408406bdeb0a009aee0f01a1ee1c005ca92b00a456d47fffffff7f7f390000680f43019de4030092244912000000005000000000005000fd07000021463b004e203e02649a4504dd0000007b62470000000c003c000000711b0d001dacff7f000000000000000000000000000000000000000080bb000014000000a603000000000008594b00000000000000000000f6285c3533333341680200009c03000000000000080000000000000034333313c4ffffffabdb4104ca597d00a6d6f07f5a290f80a6d6f07fc0d5f07fe9501e80000000000000000000000000000000000000000000000008000000380000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f491102007e9b1d028164e27d00000000eb222c073333334b00000048333333330000003000000014000000100000000c2c010000a4010000e00100000000000000000000000000000000000000000000000000c0ffffff7f491102007e9b1d028164e27d000000000000000009e3660009e366003333334b00000048333333330000003000000014000000100000000c2c010000a4010000e00100000000000000000000000000000000000000000000000000c07f000000000000c0bb2480000000000045db7fff3fb1667f77490081933ee97f00000040ffffff7f2b9c40001f7080ffffffff7fe20a080051431980e20a08081df5f707000000c0b454d30a000000004cab2cf58ec528d368a9a695933ee97f00000040ffffff7f2b9c40001f7080ffffffff7f5e5f97014dc5fb305e5f9709a1a068060000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000c0000000200000002000000020000000207f000000bcff666f44009990bcff666f4b59526ea5b3089fbcff666f44009990bcff666f4b59526ea5b3089f163e8b7200151a87ffffff7f00ebe578eac1748d71a6140171a6140171a614014b59526ea5b3089f71a6140171a6140171a614014b59526ea5b3089f05f4f8499fd084a2ffffff7f612f7b5dfb0b07b6b1d43b614f2bc49eb1d43b61612f7b5dfb0b07b6b1d43b614f2bc49eb1d43b61612f7b5dfb0b07b650a5c00350a5c00350a5c003612f7b5dfb0b07b650a5c00350a5c00350a5c003612f7b5dfb0b07b605c51579fb3aea8605c5157900ebe578eac1748d05c51579fb3aea8605c5157900ebe578eac1748d05da2f0005da2f0005da2f0000ebe578eac1748d05da2f0005da2f0005da2f0000ebe578eac1748d9ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f880051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f880051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f8800bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87640000000000000000000000000000000000000000000000c0000000205d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f95187980d7af55062950aaf9d7af55069a801aaed541dec2d7af55062950aaf9d7af55069a801aaed541dec26be7867ffca83c80ffffff7f0457c37f95187980580e0000580e0000580e00000457c37f95187980580e0000580e0000580e00000457c37f951879803d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec27f0000009ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa30213324400bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87640000000000000000000000000000000000000000000000c0e219b77f1ee64880e219b77f080cb77f89b09180a5800000a5800000a580000078054a7f78f269816801020068010200680102004ba5fc7ec7affe81e35bff00f1ad7f00000000001ca4003f000000003043b47fd0bc4b803043b47fc72cb47fcf4c978009ed897ff712768009ed897f93b6897f03b9eb8009ed897ff712768009ed897f93b6897f03b9eb8076360000763600007636000093b6897f03b9eb8076360000763600007636000093b6897f03b9eb8000000000000000200000002099999919b7c17c519979825a0000000000000000000000000000000000000000000000c0000000205d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f95187980d7af55062950aaf9d7af55069a801aaed541dec2d7af55062950aaf9d7af55069a801aaed541dec26be7867ffca83c80ffffff7f0457c37f95187980580e0000580e0000580e00000457c37f95187980580e0000580e0000580e00000457c37f951879803d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec27f0000009ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb000000000000000005bb020005bb0200e18f7f00e18f7f00e02e000051ed87640000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000410ee8980d782727fedbd0c81f011767ff011767f0e5e3483fdbac27c31ee5686f2a1cb7cf2a1cb7c000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f000000005f04016800000000000000000100000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000003c0100004200000000681000000000000000000043773c50bd88c3af43773c50c39afd467b5809cd43773c50bd88c3af43773c50c39afd467b5809cd9570616e966e7689ffffff7f6a9189766b8f9e9180dc3e0980dc3e0980dc3e09c39afd467b5809cd80dc3e0980dc3e0980dc3e09c39afd467b5809cdda24dd7626db2289da24dd766a9189766b8f9e91da24dd7626db2289da24dd766a9189766b8f9e917193530071935300719353006a9189766b8f9e917193530071935300719353006a9189766b8f9e91000000040000000400000004943ee97f943ee97f2b7a0f452b7a0f450000000600000006000080000000800000008000000080006cc116006cc116006cc116006cc11600610bb600610bb6005334f800a105d904a105d904a105d904943ee97f943ee97f943ee97f2b7a0f452b7a0f452b7a0f45000000060000000600000006000000c0000000c0000000c06cac162f6cac162f6cac162f000000020000000200000002000400000004000000040000625700406257004062570040ffffff7fffffff7fffffff7f6cc116006cc116009697e9008509fb0afeb3a7f85bdf93055a6f867c71d01485000000c0000000c0000000c00000004000000040acf79d5a3de72640a17ca613000000c0a17ca6130bb7ae0247fdfe7f000000c000000000b4a4fefe200300000000001027e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd8927e35301d2f5ddfe27e353012a6eef7ab971bd89f548517d000000c0943ee97f943ee97f943ee97f2b7a0f452b7a0f452b7a0f45000000060000000600000006ffffff7f27e35301d2f5ddfe27e353012a6eef7ab971bd8967a9970100000000000000000000000000000000000000000000000000000000000000000000000000000000f920463ba1ee1c00b65c0a006c00000096954611a4411a40f661672d01bb190000000000ff44e6ff948ef87f80dd0c800000004006bb020006bb02004d17000080632400a17ca6138063240086a60d0006bb0200bba96f01bdeb0a00fc750500806324008063240000000023a6cd620200008019f341570001000000000023000000000000000000527c0700ae83f87f491102007f9b1d028164e27deb222c07000000000000000047fdfe7f000000c000000000b4a4fefeffffff7fd6afb501b095d8014c82a6f9a2250a055edaf502d1128506048c7700cc610000a551040036a7070026ae6c025bc551020000004000000000000000400000004000000040000000c0a17ca6137f9b1d02ffffff7f000000000000000000000000000000003af64c013caf40ff3af64c01bc213668f39d5baaffffff7f3c50578bffffff7f390e8375ffba2a9000000008dc46030076475708b76d11f909d1ab032ef14d0231dc5902e3530000dc46030000000008ffffff7f7f39000027612a0788408406bdeb0a009aee0f01a1ee1c005ca92b00a456d47fffffff7f7f390000680f43019de4030092244912000000005000000000005000fd07000021463b004e203e02649a4504dd0000007b62470000000c003c000000711b0d001dacff7f000000000000000000000000000000000000000080bb000014000000a603000000000008594b00000000000000000000f6285c3533333341680200009c03000000000000080000000000000034333313c4ffffffabdb4104ca597d00a6d6f07f5a290f80a6d6f07fc0d5f07fe9501e80000000000000000000000000000000000000000000000008000000380000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f491102007e9b1d028164e27d00000000eb222c073333334b00000048333333330000003000000014000000100000000c2c010000a4010000e00100000000000000000000000000000000000000000000000000c0ffffff7f491102007e9b1d028164e27d000000000000000009e3660009e366003333334b00000048333333330000003000000014000000100000000c2c010000a4010000e00100000000000000000000000000000000000000000000000000c07f000000000000c0bb2480000000000045db7fff3fb1667f77490081933ee97f00000040ffffff7f2b9c40001f7080ffffffff7fe20a080051431980e20a08081df5f707000000c0b454d30a000000004cab2cf58ec528d368a9a695933ee97f00000040ffffff7f2b9c40001f7080ffffffff7f5e5f97014dc5fb305e5f9709a1a068060000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000c0000000200000002000000020000000207f000000bcff666f44009990bcff666f4b59526ea5b3089fbcff666f44009990bcff666f4b59526ea5b3089f163e8b7200151a87ffffff7f00ebe578eac1748d71a6140171a6140171a614014b59526ea5b3089f71a6140171a6140171a614014b59526ea5b3089f05f4f8499fd084a2ffffff7f612f7b5dfb0b07b6b1d43b614f2bc49eb1d43b61612f7b5dfb0b07b6b1d43b614f2bc49eb1d43b61612f7b5dfb0b07b650a5c00350a5c00350a5c003612f7b5dfb0b07b650a5c00350a5c00350a5c003612f7b5dfb0b07b605c51579fb3aea8605c5157900ebe578eac1748d05c51579fb3aea8605c5157900ebe578eac1748d05da2f0005da2f0005da2f0000ebe578eac1748d05da2f0005da2f0005da2f0000ebe578eac1748d9ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f880051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f880051ed87649ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa302d13f8800bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87640000000000000000000000000000000000000000000000c0000000205d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f95187980d7af55062950aaf9d7af55069a801aaed541dec2d7af55062950aaf9d7af55069a801aaed541dec26be7867ffca83c80ffffff7f0457c37f95187980580e0000580e0000580e00000457c37f95187980580e0000580e0000580e00000457c37f951879803d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec27f0000009ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb0000000000000000000000c03e2cdbf602df70f6f326200080bb0000cc9aa30213324400bbbbbb7fc31fff006962140171d30600c0030000bbbbbb7ffbeef24d6009000051ed87640000000000000000000000000000000000000000000000c0e219b77f1ee64880e219b77f080cb77f89b09180a5800000a5800000a580000078054a7f78f269816801020068010200680102004ba5fc7ec7affe81e35bff00f1ad7f00000000001ca4003f000000003043b47fd0bc4b803043b47fc72cb47fcf4c978009ed897ff712768009ed897f93b6897f03b9eb8009ed897ff712768009ed897f93b6897f03b9eb8076360000763600007636000093b6897f03b9eb8076360000763600007636000093b6897f03b9eb8000000000000000200000002099999919b7c17c519979825a0000000000000000000000000000000000000000000000c0000000205d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f951879805d65c37fa39a3c805d65c37f0457c37f95187980d7af55062950aaf9d7af55069a801aaed541dec2d7af55062950aaf9d7af55069a801aaed541dec26be7867ffca83c80ffffff7f0457c37f95187980580e0000580e0000580e00000457c37f95187980580e0000580e0000580e00000457c37f951879803d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec23d2f3b583d2f3b583d2f3b589a801aaed541dec27f0000009ea8ff7fadde084100000006c2ae0000000000000000000000000000a7fb58f910cbd6fb000000000000000005bb020005bb0200e18f7f00e18f7f00e02e000051ed87640000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000d0000000000000410ee8980d782727fedbd0c81f011767ff011767f0e5e3483fdbac27c31ee5686f2a1cb7cf2a1cb7c000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000000000000000000000000000ffffff7f00000000" NewAdded="true" maxSize="7336">
+      <CONFIG_ELEMENT_ARRAY name="config" length="2" type="uint16" min="0x0" max="0xFFFF"/>
+      <CONFIG_ELEMENT_ARRAY name="config_mono" length="916" type="int32" min="0x80000000" max="0x7FFFFFFF"/>
+      <CONFIG_ELEMENT_ARRAY name="config" length="2" type="uint16" min="0x0" max="0xFFFF"/>
+      <CONFIG_ELEMENT_ARRAY name="config_mono" length="916" type="int32" min="0x80000000" max="0x7FFFFFFF"/>
+    </INTERFACE>
+  </USECASE>
+</INTERFACE_LIST>
\ No newline at end of file
diff --git a/device-barbet.mk b/device-barbet.mk
index 45a8611..3647dd9 100644
--- a/device-barbet.mk
+++ b/device-barbet.mk
@@ -49,6 +49,7 @@
     $(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
     $(LOCAL_PATH)/audio/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
     $(LOCAL_PATH)/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
+    $(LOCAL_PATH)/audio/tas2562/tas25xx_TI_0.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas25xx_TI_0.bin \
     frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
     frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
     frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
@@ -76,21 +77,14 @@
 endif
 endif
 
-# CS35L41 SPEAKER AMP
+# Calibration Tools for factory
+ifneq ($(wildcard vendor/google_cei/factory/prebuilt/ftm.mk),)
 PRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-cali.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-cali.bin \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-cali.wmfw:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-cali.wmfw \
-    $(LOCAL_PATH)/audio/cs35l41/R-cs35l41-dsp1-spk-cali.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/R-cs35l41-dsp1-spk-cali.bin \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-prot.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-prot.bin \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-prot.wmfw:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-prot.wmfw \
-    $(LOCAL_PATH)/audio/cs35l41/R-cs35l41-dsp1-spk-prot.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/R-cs35l41-dsp1-spk-prot.bin \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-diag.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-diag.bin \
-    $(LOCAL_PATH)/audio/cs35l41/cs35l41-dsp1-spk-diag.wmfw:$(TARGET_COPY_OUT_VENDOR)/firmware/cs35l41-dsp1-spk-diag.wmfw \
-    $(LOCAL_PATH)/audio/cs35l41/R-cs35l41-dsp1-spk-diag.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/R-cs35l41-dsp1-spk-diag.bin
-
-# Audio CS35L41 speaker calibration tool
-PRODUCT_PACKAGES += \
-    crus_sp_cal
+    $(LOCAL_PATH)/audio/tas2562/calib.config:$(TARGET_COPY_OUT_VENDOR)/etc/calib.config \
+    $(LOCAL_PATH)/audio/tas2562/PinkNoise_m22db_RmsPow.wav:$(TARGET_COPY_OUT_VENDOR)/etc/PinkNoise_m22db_RmsPow.wav \
+    $(LOCAL_PATH)/audio/tas2562/Silence.wav:$(TARGET_COPY_OUT_VENDOR)/etc/Silence.wav \
+    $(LOCAL_PATH)/audio/tas2562/TAS_FactoryApp:$(TARGET_COPY_OUT_VENDOR)/bin/TAS_FactoryApp
+endif
 
 ifeq ($(wildcard vendor/google_devices/barbet/proprietary/device-vendor-barbet.mk),)
     BUILD_WITHOUT_VENDOR := true