diff options
Diffstat (limited to 'sound/soc/omap/abe')
-rw-r--r-- | sound/soc/omap/abe/abe_api.h | 20 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_asrc.c | 75 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_cm_addr.h | 532 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_core.c | 75 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_def.h | 2 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_define.h | 138 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_dm_addr.h | 587 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_firmware.c | 4831 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_functionsid.h | 140 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_gain.c | 19 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_ini.c | 250 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_initxxx_labels.h | 506 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_main.c | 16 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_main.h | 1 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_port.c | 307 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_sm_addr.h | 888 | ||||
-rw-r--r-- | sound/soc/omap/abe/abe_taskid.h | 367 |
17 files changed, 4777 insertions, 3977 deletions
diff --git a/sound/soc/omap/abe/abe_api.h b/sound/soc/omap/abe/abe_api.h index a7ea963..15e8408 100644 --- a/sound/soc/omap/abe/abe_api.h +++ b/sound/soc/omap/abe/abe_api.h @@ -70,10 +70,14 @@ #define ABE_TASK_ID(ID) (OMAP_ABE_D_TASKSLIST_ADDR + sizeof(ABE_STask)*(ID)) -#define TASK_ASRC_VX_DL_SLT 1 -#define TASK_ASRC_VX_DL_IDX 2 +#define TASK_ASRC_VX_DL_SLT 0 +#define TASK_ASRC_VX_DL_IDX 3 #define TASK_VX_DL_SLT 1 #define TASK_VX_DL_IDX 3 +#define TASK_DL2Mixer_SLT 1 +#define TASK_DL2Mixer_IDX 6 +#define TASK_DL1Mixer_SLT 2 +#define TASK_DL1Mixer_IDX 0 #define TASK_VX_UL_SLT 12 #define TASK_VX_UL_IDX 5 #define TASK_BT_DL_48_8_SLT 14 @@ -89,6 +93,7 @@ #define TASK_ASRC_BT_DL_SLT 18 #define TASK_ASRC_BT_DL_IDX 6 + struct omap_abe { void __iomem *io_base[5]; u32 firmware_version_number; @@ -512,4 +517,15 @@ abehal_status abe_set_debug_trace(abe_dbg_t debug); */ void abe_init_mem(void __iomem **_io_base); +/** + * abe_write_pdmdl_offset - write the desired offset on the DL1/DL2 paths + * + * Parameters: + * path: 1 for the DL1 ABE path, 2 for the DL2 ABE path + * offset_left: integer value that will be added on all PDM left samples + * offset_right: integer value that will be added on all PDM right samples + * + */ +void abe_write_pdmdl_offset(u32 path, u32 offset_left, u32 offset_right); + #endif/* _ABE_API_H_ */ diff --git a/sound/soc/omap/abe/abe_asrc.c b/sound/soc/omap/abe/abe_asrc.c index bd49149..4a52235 100644 --- a/sound/soc/omap/abe/abe_asrc.c +++ b/sound/soc/omap/abe/abe_asrc.c @@ -346,10 +346,17 @@ void abe_init_asrc_vx_dl(s32 dppm) mem_tag = ABE_SMEM; mem_addr = ASRC_DL_VX_Coefs_labelID; el[i] = (mem_tag << 16) + (mem_addr << 2); - el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; - el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); - el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; - el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + if (dppm == 0) { + el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + } else { + el[i + 1] = OMAP_ABE_C_COEFASRC1_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC1_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC2_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC2_VX_SIZE >> 2); + } i = i + 3; /* 10. CMEM for ASRC_DL_VX_Coefs pointer */ /* ASRC_DL_VX_Coefs = C_CoefASRC16_VX_ADDR/C_CoefASRC16_VX_sizeof/0/1/ @@ -533,10 +540,17 @@ void abe_init_asrc_vx_ul(s32 dppm) mem_tag = ABE_SMEM; mem_addr = ASRC_UL_VX_Coefs_labelID; el[i] = (mem_tag << 16) + (mem_addr << 2); - el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; - el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); - el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; - el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + if (dppm == 0) { + el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + } else { + el[i + 1] = OMAP_ABE_C_COEFASRC1_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC1_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC2_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC2_VX_SIZE >> 2); + } i = i + 3; /* 10. CMEM for ASRC_UL_VX_Coefs pointer */ /* ASRC_UL_VX_Coefs = C_CoefASRC16_VX_ADDR/C_CoefASRC16_VX_sizeof/0/1/ @@ -739,10 +753,17 @@ void abe_init_asrc_mm_ext_in(s32 dppm) mem_tag = ABE_SMEM; mem_addr = ASRC_MM_EXT_IN_Coefs_labelID; el[i] = (mem_tag << 16) + (mem_addr << 2); - el[i + 1] = OMAP_ABE_C_COEFASRC16_MM_ADDR >> 2; - el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_MM_SIZE >> 2); - el[i + 2] = OMAP_ABE_C_COEFASRC15_MM_ADDR >> 2; - el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_MM_SIZE >> 2); + if (dppm == 0) { + el[i + 1] = OMAP_ABE_C_COEFASRC16_MM_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_MM_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC15_MM_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_MM_SIZE >> 2); + } else { + el[i + 1] = OMAP_ABE_C_COEFASRC1_MM_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC1_MM_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC2_MM_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC2_MM_SIZE >> 2); + } i = i + 3; /*10. CMEM for ASRC_MM_EXT_IN_Coefs pointer */ /* ASRC_MM_EXT_IN_Coefs = C_CoefASRC16_MM_ADDR/C_CoefASRC16_MM_sizeof/ @@ -924,10 +945,17 @@ void abe_init_asrc_bt_ul(s32 dppm) mem_tag = ABE_SMEM; mem_addr = ASRC_BT_UL_Coefs_labelID; el[i] = (mem_tag << 16) + (mem_addr << 2); - el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; - el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); - el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; - el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + if (dppm == 0) { + el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + } else { + el[i + 1] = OMAP_ABE_C_COEFASRC1_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC1_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC2_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC2_VX_SIZE >> 2); + } i = i + 3; /* 10. CMEM for ASRC_BT_UL_Coefs pointer */ /* ASRC_BT_UL_Coefs = C_CoefASRC16_VX_ADDR/C_CoefASRC16_VX_sizeof/0/1/ @@ -1111,10 +1139,17 @@ void abe_init_asrc_bt_dl(s32 dppm) mem_tag = ABE_SMEM; mem_addr = ASRC_BT_DL_Coefs_labelID; el[i] = (mem_tag << 16) + (mem_addr << 2); - el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; - el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); - el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; - el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + if (dppm == 0) { + el[i + 1] = OMAP_ABE_C_COEFASRC16_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC16_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC15_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC15_VX_SIZE >> 2); + } else { + el[i + 1] = OMAP_ABE_C_COEFASRC1_VX_ADDR >> 2; + el[i + 1] = (el[i + 1] << 8) + (OMAP_ABE_C_COEFASRC1_VX_SIZE >> 2); + el[i + 2] = OMAP_ABE_C_COEFASRC2_VX_ADDR >> 2; + el[i + 2] = (el[i + 2] << 8) + (OMAP_ABE_C_COEFASRC2_VX_SIZE >> 2); + } i = i + 3; /* 10. CMEM for ASRC_BT_DL_Coefs pointer */ /* ASRC_BT_DL_Coefs = C_CoefASRC16_VX_ADDR/C_CoefASRC16_VX_sizeof/0/1/ diff --git a/sound/soc/omap/abe/abe_cm_addr.h b/sound/soc/omap/abe/abe_cm_addr.h index 29f7f27..e5c97f3 100644 --- a/sound/soc/omap/abe/abe_cm_addr.h +++ b/sound/soc/omap/abe/abe_cm_addr.h @@ -1,317 +1,217 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ -#define OMAP_ABE_INIT_CM_ADDR 0x0 -#define OMAP_ABE_INIT_CM_SIZE 0x4DC - -#define OMAP_ABE_C_DATA_LSB_2_ADDR 0x4DC -#define OMAP_ABE_C_DATA_LSB_2_SIZE 0x4 - -#define OMAP_ABE_C_1_ALPHA_ADDR 0x4E0 -#define OMAP_ABE_C_1_ALPHA_SIZE 0x48 - -#define OMAP_ABE_C_ALPHA_ADDR 0x528 -#define OMAP_ABE_C_ALPHA_SIZE 0x48 - -#define OMAP_ABE_C_GAINSWRAMP_ADDR 0x570 -#define OMAP_ABE_C_GAINSWRAMP_SIZE 0x38 - -#define OMAP_ABE_C_GAINS_DL1M_ADDR 0x5A8 -#define OMAP_ABE_C_GAINS_DL1M_SIZE 0x10 - -#define OMAP_ABE_C_GAINS_DL2M_ADDR 0x5B8 -#define OMAP_ABE_C_GAINS_DL2M_SIZE 0x10 - -#define OMAP_ABE_C_GAINS_ECHOM_ADDR 0x5C8 -#define OMAP_ABE_C_GAINS_ECHOM_SIZE 0x8 - -#define OMAP_ABE_C_GAINS_SDTM_ADDR 0x5D0 -#define OMAP_ABE_C_GAINS_SDTM_SIZE 0x8 - -#define OMAP_ABE_C_GAINS_VXRECM_ADDR 0x5D8 -#define OMAP_ABE_C_GAINS_VXRECM_SIZE 0x10 - -#define OMAP_ABE_C_GAINS_ULM_ADDR 0x5E8 -#define OMAP_ABE_C_GAINS_ULM_SIZE 0x10 - -#define OMAP_ABE_C_GAINS_BTUL_ADDR 0x5F8 -#define OMAP_ABE_C_GAINS_BTUL_SIZE 0x8 - -#define OMAP_ABE_C_SDT_COEFS_ADDR 0x600 -#define OMAP_ABE_C_SDT_COEFS_SIZE 0x24 - -#define OMAP_ABE_C_COEFASRC1_VX_ADDR 0x624 -#define OMAP_ABE_C_COEFASRC1_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC2_VX_ADDR 0x670 -#define OMAP_ABE_C_COEFASRC2_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC3_VX_ADDR 0x6BC -#define OMAP_ABE_C_COEFASRC3_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC4_VX_ADDR 0x708 -#define OMAP_ABE_C_COEFASRC4_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC5_VX_ADDR 0x754 -#define OMAP_ABE_C_COEFASRC5_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC6_VX_ADDR 0x7A0 -#define OMAP_ABE_C_COEFASRC6_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC7_VX_ADDR 0x7EC -#define OMAP_ABE_C_COEFASRC7_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC8_VX_ADDR 0x838 -#define OMAP_ABE_C_COEFASRC8_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC9_VX_ADDR 0x884 -#define OMAP_ABE_C_COEFASRC9_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC10_VX_ADDR 0x8D0 -#define OMAP_ABE_C_COEFASRC10_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC11_VX_ADDR 0x91C -#define OMAP_ABE_C_COEFASRC11_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC12_VX_ADDR 0x968 -#define OMAP_ABE_C_COEFASRC12_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC13_VX_ADDR 0x9B4 -#define OMAP_ABE_C_COEFASRC13_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC14_VX_ADDR 0xA00 -#define OMAP_ABE_C_COEFASRC14_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC15_VX_ADDR 0xA4C -#define OMAP_ABE_C_COEFASRC15_VX_SIZE 0x4C - -#define OMAP_ABE_C_COEFASRC16_VX_ADDR 0xA98 -#define OMAP_ABE_C_COEFASRC16_VX_SIZE 0x4C - -#define OMAP_ABE_C_ALPHACURRENT_UL_VX_ADDR 0xAE4 -#define OMAP_ABE_C_ALPHACURRENT_UL_VX_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_UL_VX_ADDR 0xAE8 -#define OMAP_ABE_C_BETACURRENT_UL_VX_SIZE 0x4 - -#define OMAP_ABE_C_ALPHACURRENT_DL_VX_ADDR 0xAEC -#define OMAP_ABE_C_ALPHACURRENT_DL_VX_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_DL_VX_ADDR 0xAF0 -#define OMAP_ABE_C_BETACURRENT_DL_VX_SIZE 0x4 - -#define OMAP_ABE_C_COEFASRC1_MM_ADDR 0xAF4 -#define OMAP_ABE_C_COEFASRC1_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC2_MM_ADDR 0xB3C -#define OMAP_ABE_C_COEFASRC2_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC3_MM_ADDR 0xB84 -#define OMAP_ABE_C_COEFASRC3_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC4_MM_ADDR 0xBCC -#define OMAP_ABE_C_COEFASRC4_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC5_MM_ADDR 0xC14 -#define OMAP_ABE_C_COEFASRC5_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC6_MM_ADDR 0xC5C -#define OMAP_ABE_C_COEFASRC6_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC7_MM_ADDR 0xCA4 -#define OMAP_ABE_C_COEFASRC7_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC8_MM_ADDR 0xCEC -#define OMAP_ABE_C_COEFASRC8_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC9_MM_ADDR 0xD34 -#define OMAP_ABE_C_COEFASRC9_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC10_MM_ADDR 0xD7C -#define OMAP_ABE_C_COEFASRC10_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC11_MM_ADDR 0xDC4 -#define OMAP_ABE_C_COEFASRC11_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC12_MM_ADDR 0xE0C -#define OMAP_ABE_C_COEFASRC12_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC13_MM_ADDR 0xE54 -#define OMAP_ABE_C_COEFASRC13_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC14_MM_ADDR 0xE9C -#define OMAP_ABE_C_COEFASRC14_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC15_MM_ADDR 0xEE4 -#define OMAP_ABE_C_COEFASRC15_MM_SIZE 0x48 - -#define OMAP_ABE_C_COEFASRC16_MM_ADDR 0xF2C -#define OMAP_ABE_C_COEFASRC16_MM_SIZE 0x48 - -#define OMAP_ABE_C_ALPHACURRENT_MM_EXT_IN_ADDR 0xF74 -#define OMAP_ABE_C_ALPHACURRENT_MM_EXT_IN_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_MM_EXT_IN_ADDR 0xF78 -#define OMAP_ABE_C_BETACURRENT_MM_EXT_IN_SIZE 0x4 - -#define OMAP_ABE_C_DL2_L_COEFS_ADDR 0xF7C -#define OMAP_ABE_C_DL2_L_COEFS_SIZE 0x64 - -#define OMAP_ABE_C_DL2_R_COEFS_ADDR 0xFE0 -#define OMAP_ABE_C_DL2_R_COEFS_SIZE 0x64 - -#define OMAP_ABE_C_DL1_COEFS_ADDR 0x1044 -#define OMAP_ABE_C_DL1_COEFS_SIZE 0x64 - -#define OMAP_ABE_C_SRC_3_LP_COEFS_ADDR 0x10A8 -#define OMAP_ABE_C_SRC_3_LP_COEFS_SIZE 0x2C - -#define OMAP_ABE_C_SRC_3_LP_GAIN_COEFS_ADDR 0x10D4 -#define OMAP_ABE_C_SRC_3_LP_GAIN_COEFS_SIZE 0x2C - -#define OMAP_ABE_C_SRC_3_HP_COEFS_ADDR 0x1100 -#define OMAP_ABE_C_SRC_3_HP_COEFS_SIZE 0x14 - -#define OMAP_ABE_C_SRC_6_LP_COEFS_ADDR 0x1114 -#define OMAP_ABE_C_SRC_6_LP_COEFS_SIZE 0x2C - -#define OMAP_ABE_C_SRC_6_LP_GAIN_COEFS_ADDR 0x1140 -#define OMAP_ABE_C_SRC_6_LP_GAIN_COEFS_SIZE 0x2C - -#define OMAP_ABE_C_SRC_6_HP_COEFS_ADDR 0x116C -#define OMAP_ABE_C_SRC_6_HP_COEFS_SIZE 0x1C - -#define OMAP_ABE_C_APS_DL1_COEFFS1_ADDR 0x1188 -#define OMAP_ABE_C_APS_DL1_COEFFS1_SIZE 0x24 - -#define OMAP_ABE_C_APS_DL1_M_COEFFS2_ADDR 0x11AC -#define OMAP_ABE_C_APS_DL1_M_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_APS_DL1_C_COEFFS2_ADDR 0x11B8 -#define OMAP_ABE_C_APS_DL1_C_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_APS_DL2_L_COEFFS1_ADDR 0x11C4 -#define OMAP_ABE_C_APS_DL2_L_COEFFS1_SIZE 0x24 - -#define OMAP_ABE_C_APS_DL2_R_COEFFS1_ADDR 0x11E8 -#define OMAP_ABE_C_APS_DL2_R_COEFFS1_SIZE 0x24 - -#define OMAP_ABE_C_APS_DL2_L_M_COEFFS2_ADDR 0x120C -#define OMAP_ABE_C_APS_DL2_L_M_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_APS_DL2_R_M_COEFFS2_ADDR 0x1218 -#define OMAP_ABE_C_APS_DL2_R_M_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_APS_DL2_L_C_COEFFS2_ADDR 0x1224 -#define OMAP_ABE_C_APS_DL2_L_C_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_APS_DL2_R_C_COEFFS2_ADDR 0x1230 -#define OMAP_ABE_C_APS_DL2_R_C_COEFFS2_SIZE 0xC - -#define OMAP_ABE_C_ALPHACURRENT_ECHO_REF_ADDR 0x123C -#define OMAP_ABE_C_ALPHACURRENT_ECHO_REF_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_ECHO_REF_ADDR 0x1240 -#define OMAP_ABE_C_BETACURRENT_ECHO_REF_SIZE 0x4 - -#define OMAP_ABE_C_APS_DL1_EQ_ADDR 0x1244 -#define OMAP_ABE_C_APS_DL1_EQ_SIZE 0x24 - -#define OMAP_ABE_C_APS_DL2_L_EQ_ADDR 0x1268 -#define OMAP_ABE_C_APS_DL2_L_EQ_SIZE 0x24 - -#define OMAP_ABE_C_APS_DL2_R_EQ_ADDR 0x128C -#define OMAP_ABE_C_APS_DL2_R_EQ_SIZE 0x24 - -#define OMAP_ABE_C_VIBRA2_CONSTS_ADDR 0x12B0 -#define OMAP_ABE_C_VIBRA2_CONSTS_SIZE 0x10 - -#define OMAP_ABE_C_VIBRA1_COEFFS_ADDR 0x12C0 -#define OMAP_ABE_C_VIBRA1_COEFFS_SIZE 0x2C - -#define OMAP_ABE_C_48_96_LP_COEFS_ADDR 0x12EC -#define OMAP_ABE_C_48_96_LP_COEFS_SIZE 0x3C - -#define OMAP_ABE_C_96_48_AMIC_COEFS_ADDR 0x1328 -#define OMAP_ABE_C_96_48_AMIC_COEFS_SIZE 0x4C - -#define OMAP_ABE_C_96_48_DMIC_COEFS_ADDR 0x1374 -#define OMAP_ABE_C_96_48_DMIC_COEFS_SIZE 0x4C - -#define OMAP_ABE_C_INPUT_SCALE_ADDR 0x13C0 -#define OMAP_ABE_C_INPUT_SCALE_SIZE 0x4 - -#define OMAP_ABE_C_OUTPUT_SCALE_ADDR 0x13C4 -#define OMAP_ABE_C_OUTPUT_SCALE_SIZE 0x4 - -#define OMAP_ABE_C_MUTE_SCALING_ADDR 0x13C8 -#define OMAP_ABE_C_MUTE_SCALING_SIZE 0x4 - -#define OMAP_ABE_C_GAINS_0DB_ADDR 0x13CC -#define OMAP_ABE_C_GAINS_0DB_SIZE 0x8 - -#define OMAP_ABE_C_ALPHACURRENT_BT_UL_ADDR 0x13D4 -#define OMAP_ABE_C_ALPHACURRENT_BT_UL_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_BT_UL_ADDR 0x13D8 -#define OMAP_ABE_C_BETACURRENT_BT_UL_SIZE 0x4 - -#define OMAP_ABE_C_ALPHACURRENT_BT_DL_ADDR 0x13DC -#define OMAP_ABE_C_ALPHACURRENT_BT_DL_SIZE 0x4 - -#define OMAP_ABE_C_BETACURRENT_BT_DL_ADDR 0x13E0 -#define OMAP_ABE_C_BETACURRENT_BT_DL_SIZE 0x4 + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#define OMAP_ABE_INIT_CM_ADDR 0x0 +#define OMAP_ABE_INIT_CM_SIZE 0x640 +#define OMAP_ABE_C_DATA_LSB_2_ADDR 0x640 +#define OMAP_ABE_C_DATA_LSB_2_SIZE 0x4 +#define OMAP_ABE_C_1_ALPHA_ADDR 0x644 +#define OMAP_ABE_C_1_ALPHA_SIZE 0x48 +#define OMAP_ABE_C_ALPHA_ADDR 0x68C +#define OMAP_ABE_C_ALPHA_SIZE 0x48 +#define OMAP_ABE_C_GAINSWRAMP_ADDR 0x6D4 +#define OMAP_ABE_C_GAINSWRAMP_SIZE 0x38 +#define OMAP_ABE_C_GAINS_DL1M_ADDR 0x70C +#define OMAP_ABE_C_GAINS_DL1M_SIZE 0x10 +#define OMAP_ABE_C_GAINS_DL2M_ADDR 0x71C +#define OMAP_ABE_C_GAINS_DL2M_SIZE 0x10 +#define OMAP_ABE_C_GAINS_ECHOM_ADDR 0x72C +#define OMAP_ABE_C_GAINS_ECHOM_SIZE 0x8 +#define OMAP_ABE_C_GAINS_SDTM_ADDR 0x734 +#define OMAP_ABE_C_GAINS_SDTM_SIZE 0x8 +#define OMAP_ABE_C_GAINS_VXRECM_ADDR 0x73C +#define OMAP_ABE_C_GAINS_VXRECM_SIZE 0x10 +#define OMAP_ABE_C_GAINS_ULM_ADDR 0x74C +#define OMAP_ABE_C_GAINS_ULM_SIZE 0x10 +#define OMAP_ABE_C_GAINS_BTUL_ADDR 0x75C +#define OMAP_ABE_C_GAINS_BTUL_SIZE 0x8 +#define OMAP_ABE_C_SDT_COEFS_ADDR 0x764 +#define OMAP_ABE_C_SDT_COEFS_SIZE 0x24 +#define OMAP_ABE_C_COEFASRC1_VX_ADDR 0x788 +#define OMAP_ABE_C_COEFASRC1_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC2_VX_ADDR 0x7D4 +#define OMAP_ABE_C_COEFASRC2_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC3_VX_ADDR 0x820 +#define OMAP_ABE_C_COEFASRC3_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC4_VX_ADDR 0x86C +#define OMAP_ABE_C_COEFASRC4_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC5_VX_ADDR 0x8B8 +#define OMAP_ABE_C_COEFASRC5_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC6_VX_ADDR 0x904 +#define OMAP_ABE_C_COEFASRC6_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC7_VX_ADDR 0x950 +#define OMAP_ABE_C_COEFASRC7_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC8_VX_ADDR 0x99C +#define OMAP_ABE_C_COEFASRC8_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC9_VX_ADDR 0x9E8 +#define OMAP_ABE_C_COEFASRC9_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC10_VX_ADDR 0xA34 +#define OMAP_ABE_C_COEFASRC10_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC11_VX_ADDR 0xA80 +#define OMAP_ABE_C_COEFASRC11_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC12_VX_ADDR 0xACC +#define OMAP_ABE_C_COEFASRC12_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC13_VX_ADDR 0xB18 +#define OMAP_ABE_C_COEFASRC13_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC14_VX_ADDR 0xB64 +#define OMAP_ABE_C_COEFASRC14_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC15_VX_ADDR 0xBB0 +#define OMAP_ABE_C_COEFASRC15_VX_SIZE 0x4C +#define OMAP_ABE_C_COEFASRC16_VX_ADDR 0xBFC +#define OMAP_ABE_C_COEFASRC16_VX_SIZE 0x4C +#define OMAP_ABE_C_ALPHACURRENT_UL_VX_ADDR 0xC48 +#define OMAP_ABE_C_ALPHACURRENT_UL_VX_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_UL_VX_ADDR 0xC4C +#define OMAP_ABE_C_BETACURRENT_UL_VX_SIZE 0x4 +#define OMAP_ABE_C_ALPHACURRENT_DL_VX_ADDR 0xC50 +#define OMAP_ABE_C_ALPHACURRENT_DL_VX_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_DL_VX_ADDR 0xC54 +#define OMAP_ABE_C_BETACURRENT_DL_VX_SIZE 0x4 +#define OMAP_ABE_C_COEFASRC1_MM_ADDR 0xC58 +#define OMAP_ABE_C_COEFASRC1_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC2_MM_ADDR 0xCA0 +#define OMAP_ABE_C_COEFASRC2_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC3_MM_ADDR 0xCE8 +#define OMAP_ABE_C_COEFASRC3_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC4_MM_ADDR 0xD30 +#define OMAP_ABE_C_COEFASRC4_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC5_MM_ADDR 0xD78 +#define OMAP_ABE_C_COEFASRC5_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC6_MM_ADDR 0xDC0 +#define OMAP_ABE_C_COEFASRC6_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC7_MM_ADDR 0xE08 +#define OMAP_ABE_C_COEFASRC7_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC8_MM_ADDR 0xE50 +#define OMAP_ABE_C_COEFASRC8_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC9_MM_ADDR 0xE98 +#define OMAP_ABE_C_COEFASRC9_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC10_MM_ADDR 0xEE0 +#define OMAP_ABE_C_COEFASRC10_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC11_MM_ADDR 0xF28 +#define OMAP_ABE_C_COEFASRC11_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC12_MM_ADDR 0xF70 +#define OMAP_ABE_C_COEFASRC12_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC13_MM_ADDR 0xFB8 +#define OMAP_ABE_C_COEFASRC13_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC14_MM_ADDR 0x1000 +#define OMAP_ABE_C_COEFASRC14_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC15_MM_ADDR 0x1048 +#define OMAP_ABE_C_COEFASRC15_MM_SIZE 0x48 +#define OMAP_ABE_C_COEFASRC16_MM_ADDR 0x1090 +#define OMAP_ABE_C_COEFASRC16_MM_SIZE 0x48 +#define OMAP_ABE_C_ALPHACURRENT_MM_EXT_IN_ADDR 0x10D8 +#define OMAP_ABE_C_ALPHACURRENT_MM_EXT_IN_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_MM_EXT_IN_ADDR 0x10DC +#define OMAP_ABE_C_BETACURRENT_MM_EXT_IN_SIZE 0x4 +#define OMAP_ABE_C_DL2_L_COEFS_ADDR 0x10E0 +#define OMAP_ABE_C_DL2_L_COEFS_SIZE 0x64 +#define OMAP_ABE_C_DL2_R_COEFS_ADDR 0x1144 +#define OMAP_ABE_C_DL2_R_COEFS_SIZE 0x64 +#define OMAP_ABE_C_DL1_COEFS_ADDR 0x11A8 +#define OMAP_ABE_C_DL1_COEFS_SIZE 0x64 +#define OMAP_ABE_C_SRC_3_LP_COEFS_ADDR 0x120C +#define OMAP_ABE_C_SRC_3_LP_COEFS_SIZE 0x34 +#define OMAP_ABE_C_SRC_3_LP_GAIN_COEFS_ADDR 0x1240 +#define OMAP_ABE_C_SRC_3_LP_GAIN_COEFS_SIZE 0x34 +#define OMAP_ABE_C_SRC_3_HP_COEFS_ADDR 0x1274 +#define OMAP_ABE_C_SRC_3_HP_COEFS_SIZE 0x14 +#define OMAP_ABE_C_SRC_6_LP_COEFS_ADDR 0x1288 +#define OMAP_ABE_C_SRC_6_LP_COEFS_SIZE 0x34 +#define OMAP_ABE_C_SRC_6_LP_GAIN_COEFS_ADDR 0x12BC +#define OMAP_ABE_C_SRC_6_LP_GAIN_COEFS_SIZE 0x34 +#define OMAP_ABE_C_SRC_6_HP_COEFS_ADDR 0x12F0 +#define OMAP_ABE_C_SRC_6_HP_COEFS_SIZE 0x1C +#define OMAP_ABE_C_ALPHACURRENT_ECHO_REF_ADDR 0x130C +#define OMAP_ABE_C_ALPHACURRENT_ECHO_REF_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_ECHO_REF_ADDR 0x1310 +#define OMAP_ABE_C_BETACURRENT_ECHO_REF_SIZE 0x4 +#define OMAP_ABE_C_VIBRA2_CONSTS_ADDR 0x1314 +#define OMAP_ABE_C_VIBRA2_CONSTS_SIZE 0x10 +#define OMAP_ABE_C_VIBRA1_COEFFS_ADDR 0x1324 +#define OMAP_ABE_C_VIBRA1_COEFFS_SIZE 0x2C +#define OMAP_ABE_C_48_96_LP_COEFS_ADDR 0x1350 +#define OMAP_ABE_C_48_96_LP_COEFS_SIZE 0x3C +#define OMAP_ABE_C_96_48_AMIC_COEFS_ADDR 0x138C +#define OMAP_ABE_C_96_48_AMIC_COEFS_SIZE 0x4C +#define OMAP_ABE_C_96_48_DMIC_COEFS_ADDR 0x13D8 +#define OMAP_ABE_C_96_48_DMIC_COEFS_SIZE 0x4C +#define OMAP_ABE_C_INPUT_SCALE_ADDR 0x1424 +#define OMAP_ABE_C_INPUT_SCALE_SIZE 0x4 +#define OMAP_ABE_C_OUTPUT_SCALE_ADDR 0x1428 +#define OMAP_ABE_C_OUTPUT_SCALE_SIZE 0x4 +#define OMAP_ABE_C_MUTE_SCALING_ADDR 0x142C +#define OMAP_ABE_C_MUTE_SCALING_SIZE 0x4 +#define OMAP_ABE_C_GAINS_0DB_ADDR 0x1430 +#define OMAP_ABE_C_GAINS_0DB_SIZE 0x8 +#define OMAP_ABE_C_ALPHACURRENT_BT_DL_ADDR 0x1438 +#define OMAP_ABE_C_ALPHACURRENT_BT_DL_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_BT_DL_ADDR 0x143C +#define OMAP_ABE_C_BETACURRENT_BT_DL_SIZE 0x4 +#define OMAP_ABE_C_ALPHACURRENT_BT_UL_ADDR 0x1440 +#define OMAP_ABE_C_ALPHACURRENT_BT_UL_SIZE 0x4 +#define OMAP_ABE_C_BETACURRENT_BT_UL_ADDR 0x1444 +#define OMAP_ABE_C_BETACURRENT_BT_UL_SIZE 0x4 +#define OMAP_ABE_C_SRC_FIR6_LP_GAIN_COEFS_ADDR 0x1448 +#define OMAP_ABE_C_SRC_FIR6_LP_GAIN_COEFS_SIZE 0x2A0 +#define OMAP_ABE_C_SRC_44P1_COEFS_ADDR 0x16E8 +#define OMAP_ABE_C_SRC_44P1_COEFS_SIZE 0x480 +#define OMAP_ABE_C_SRC_MM_DL_44P1_STEP_ADDR 0x1B68 +#define OMAP_ABE_C_SRC_MM_DL_44P1_STEP_SIZE 0x8 +#define OMAP_ABE_C_SRC_TONES_44P1_STEP_ADDR 0x1B70 +#define OMAP_ABE_C_SRC_TONES_44P1_STEP_SIZE 0x8 +#define OMAP_ABE_C_SRC_44P1_MULFAC2_ADDR 0x1B78 +#define OMAP_ABE_C_SRC_44P1_MULFAC2_SIZE 0x8 diff --git a/sound/soc/omap/abe/abe_core.c b/sound/soc/omap/abe/abe_core.c index da24b7a..cdfbcea 100644 --- a/sound/soc/omap/abe/abe_core.c +++ b/sound/soc/omap/abe/abe_core.c @@ -68,6 +68,7 @@ #include "abe_aess.h" #include "abe_port.h" #include "abe_mem.h" +#include "abe_taskid.h" #define OMAP_ABE_IRQ_FIFO_MASK ((OMAP_ABE_D_MCUIRQFIFO_SIZE >> 2) - 1) @@ -475,8 +476,9 @@ int omap_abe_set_opp_processing(struct omap_abe *abe, u32 opp) /* Write Multiframe inside DMEM */ omap_abe_mem_write(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MAXTASKBYTESINSLOT_ADDR, &dOppMode32, sizeof(u32)); + sio_desc_address = OMAP_ABE_D_IODESCR_ADDR + (OMAP_ABE_MM_EXT_IN_PORT * - sizeof(struct ABE_SIODescriptor)); + sizeof(struct ABE_SIODescriptor)); omap_abe_mem_read(abe, OMAP_ABE_DMEM, sio_desc_address, (u32 *) &sio_desc, sizeof(sio_desc)); if (dOppMode32 == DOPPMODE32_OPP100) { @@ -484,48 +486,79 @@ int omap_abe_set_opp_processing(struct omap_abe *abe, u32 opp) sio_desc.smem_addr1 = smem_mm_ext_in_opp100; /* Init MM_EXT_IN ASRC and enable its adaptation */ abe_init_asrc_mm_ext_in(250); - } else { + } else /* at OPP 50 or without ASRC */ sio_desc.smem_addr1 = smem_mm_ext_in_opp50; - } omap_abe_mem_write(abe, OMAP_ABE_DMEM, sio_desc_address, - (u32 *) &sio_desc, sizeof(sio_desc)); + (u32 *) &sio_desc, sizeof(sio_desc)); sio_desc_address = OMAP_ABE_D_IODESCR_ADDR + (OMAP_ABE_BT_VX_UL_PORT * - sizeof(struct ABE_SIODescriptor)); + sizeof(struct ABE_SIODescriptor)); omap_abe_mem_read(abe, OMAP_ABE_DMEM, sio_desc_address, (u32 *) &sio_desc, sizeof(sio_desc)); - if (dOppMode32 == DOPPMODE32_OPP100) { - /* ASRC input buffer, size 40 */ - sio_desc.smem_addr1 = smem_bt_vx_ul_opp100; - /* Init MM_EXT_IN ASRC and enable its adaptation */ - abe_init_asrc_bt_ul(250); + + if (abe_port[OMAP_ABE_BT_VX_UL_PORT].format.f == 8000) { + if (dOppMode32 == DOPPMODE32_OPP100) + /* ASRC input buffer, size 40 */ + sio_desc.smem_addr1 = smem_bt_vx_ul_opp100; + else + /* at OPP 50 without ASRC */ + sio_desc.smem_addr1 = BT_UL_8k_labelID; } else { - /* at OPP 50 or without ASRC */ - sio_desc.smem_addr1 = smem_bt_vx_ul_opp50; + if (dOppMode32 == DOPPMODE32_OPP100) + /* ASRC input buffer, size 40 */ + sio_desc.smem_addr1 = smem_bt_vx_ul_opp100; + else + /* at OPP 50 without ASRC */ + sio_desc.smem_addr1 = BT_UL_16k_labelID; } omap_abe_mem_write(abe, OMAP_ABE_DMEM, sio_desc_address, (u32 *) &sio_desc, sizeof(sio_desc)); sio_desc_address = OMAP_ABE_D_IODESCR_ADDR + (OMAP_ABE_BT_VX_DL_PORT * - sizeof(struct ABE_SIODescriptor)); + sizeof(struct ABE_SIODescriptor)); omap_abe_mem_read(abe, OMAP_ABE_DMEM, sio_desc_address, - (u32 *) &sio_desc, sizeof(sio_desc)); - if (dOppMode32 == DOPPMODE32_OPP100) { - /* ASRC input buffer, size 40 */ - sio_desc.smem_addr1 = smem_bt_vx_dl_opp100; - /* Init MM_EXT_IN ASRC and enable its adaptation */ - abe_init_asrc_bt_dl(250); + (u32 *) &sio_desc, sizeof(sio_desc)); + +#define ABE_TASK_ID(ID) (OMAP_ABE_D_TASKSLIST_ADDR + sizeof(ABE_STask)*(ID)) +#define TASK_BT_DL_48_8_SLT 14 +#define TASK_BT_DL_48_8_IDX 4 + if (abe_port[OMAP_ABE_BT_VX_DL_PORT].format.f == 8000) { + if (dOppMode32 == DOPPMODE32_OPP100) { + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_8_OPP100); + sio_desc.smem_addr1 = BT_DL_8k_opp100_labelID; + } else { + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_8); + sio_desc.smem_addr1 = BT_DL_8k_labelID; + } } else { - /* at OPP 50 or without ASRC */ - sio_desc.smem_addr1 = smem_bt_vx_dl_opp50; + if (dOppMode32 == DOPPMODE32_OPP100) { + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_16_OPP100); + sio_desc.smem_addr1 = BT_DL_16k_opp100_labelID; + } else { + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_16); + sio_desc.smem_addr1 = BT_DL_16k_labelID; + } } + omap_abe_mem_write(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MULTIFRAME_ADDR, + (u32 *) abe->MultiFrame, sizeof(abe->MultiFrame)); + omap_abe_mem_write(abe, OMAP_ABE_DMEM, sio_desc_address, (u32 *) &sio_desc, sizeof(sio_desc)); + if (dOppMode32 == DOPPMODE32_OPP100) { + /* Init BT_VX_UL ASRC and enable its adaptation */ + abe_init_asrc_bt_ul(250); + /* Init BT_VX_DL ASRC and enable its adaptation */ + abe_init_asrc_bt_dl(-250); + } return 0; } diff --git a/sound/soc/omap/abe/abe_def.h b/sound/soc/omap/abe/abe_def.h index 2cce906..ac1d263 100644 --- a/sound/soc/omap/abe/abe_def.h +++ b/sound/soc/omap/abe/abe_def.h @@ -243,7 +243,7 @@ #define MUTE_GAIN -12000L #define GAIN_TOOLOW -13000L #define GAIN_MUTE MUTE_GAIN -#define RAMP_MINLENGTH 3L +#define RAMP_MINLENGTH 0L /* ramp_t is in milli- seconds */ #define RAMP_0MS 0L #define RAMP_1MS 1L diff --git a/sound/soc/omap/abe/abe_define.h b/sound/soc/omap/abe/abe_define.h index 1dfa0a3..41b700a 100644 --- a/sound/soc/omap/abe/abe_define.h +++ b/sound/soc/omap/abe/abe_define.h @@ -1,67 +1,66 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ #ifndef _ABE_DEFINE_H_ #define _ABE_DEFINE_H_ #define ATC_DESCRIPTOR_NUMBER 64 #define PROCESSING_SLOTS 25 -#define TASK_POOL_LENGTH 128 +#define TASK_POOL_LENGTH 136 #define MCU_IRQ 0x24 #define MCU_IRQ_SHIFT2 0x90 #define DMA_REQ_SHIFT2 0x210 @@ -89,11 +88,25 @@ #define VIBRA1_IIR_MEMSIZE 11 #define SAMP_LOOP_96K 24 #define SAMP_LOOP_48K 12 +#define SAMP_LOOP_48KM1 11 +#define SAMP_LOOP_48KM2 10 #define SAMP_LOOP_16K 4 #define SAMP_LOOP_8K 2 -#define INPUT_SCALE_SHIFTM2 5056 -#define OUTPUT_SCALE_SHIFTM2 5060 -#define MUTE_SCALING 5064 +#define INPUT_SCALE_SHIFTM2 5156 +#define SATURATION 8420 +#define SATURATION_7FFF 8416 +#define OUTPUT_SCALE_SHIFTM2 5160 +#define NTAPS_SRC_44P1 24 +#define NTAPS_SRC_44P1_M4 96 +#define NTAPS_SRC_44P1_THR 48 +#define NTAPS_SRC_44P1_THRM4 192 +#define DRIFT_COUNTER_44P1M1 443 +#define NB_OF_PHASES_SRC44P1 12 +#define NB_OF_PHASES_SRC44P1M1 11 +#define SRC44P1_BUFFER_SIZE 96 +#define SRC44P1_BUFFER_SIZE_M4 384 +#define SRC44P1_INIT_RPTR 60 +#define MUTE_SCALING 5164 #define ABE_PMEM 1 #define ABE_CMEM 2 #define ABE_SMEM 3 @@ -101,4 +114,7 @@ #define ABE_ATC 5 #define ASRC_BT_UL_FIR_L 19 #define ASRC_BT_DL_FIR_L 19 +#define SRC44P1_COEF_ADDR 1466 +#define NTAPS_P_SRC_44P1_M4 144 + #endif /* _ABE_DEFINE_H_ */ diff --git a/sound/soc/omap/abe/abe_dm_addr.h b/sound/soc/omap/abe/abe_dm_addr.h index 5d10e11..a9c67a1 100644 --- a/sound/soc/omap/abe/abe_dm_addr.h +++ b/sound/soc/omap/abe/abe_dm_addr.h @@ -1,360 +1,229 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#define OMAP_ABE_D_ATCDESCRIPTORS_ADDR 0x0 -#define OMAP_ABE_D_ATCDESCRIPTORS_SIZE 0x200 - -#define OMAP_ABE_STACK_ADDR 0x200 -#define OMAP_ABE_STACK_SIZE 0x70 - -#define OMAP_ABE_D_VERSION_ADDR 0x270 -#define OMAP_ABE_D_VERSION_SIZE 0x4 - -#define OMAP_ABE_D_BT_DL_FIFO_ADDR 0x400 -#define OMAP_ABE_D_BT_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_BT_UL_FIFO_ADDR 0x600 -#define OMAP_ABE_D_BT_UL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MM_EXT_OUT_FIFO_ADDR 0x800 -#define OMAP_ABE_D_MM_EXT_OUT_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MM_EXT_IN_FIFO_ADDR 0xA00 -#define OMAP_ABE_D_MM_EXT_IN_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MM_UL2_FIFO_ADDR 0xC00 -#define OMAP_ABE_D_MM_UL2_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_VX_UL_FIFO_ADDR 0xE00 -#define OMAP_ABE_D_VX_UL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_VX_DL_FIFO_ADDR 0x1000 -#define OMAP_ABE_D_VX_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_DMIC_UL_FIFO_ADDR 0x1200 -#define OMAP_ABE_D_DMIC_UL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MM_UL_FIFO_ADDR 0x1400 -#define OMAP_ABE_D_MM_UL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MM_DL_FIFO_ADDR 0x1600 -#define OMAP_ABE_D_MM_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_TONES_DL_FIFO_ADDR 0x1800 -#define OMAP_ABE_D_TONES_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_VIB_DL_FIFO_ADDR 0x1A00 -#define OMAP_ABE_D_VIB_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MCPDM_DL_FIFO_ADDR 0x1C00 -#define OMAP_ABE_D_MCPDM_DL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_MCPDM_UL_FIFO_ADDR 0x1E00 -#define OMAP_ABE_D_MCPDM_UL_FIFO_SIZE 0x1E0 - -#define OMAP_ABE_D_DEBUG_FIFO_ADDR 0x1FE0 -#define OMAP_ABE_D_DEBUG_FIFO_SIZE 0x60 - -#define OMAP_ABE_D_DEBUG_FIFO_HAL_ADDR 0x2040 -#define OMAP_ABE_D_DEBUG_FIFO_HAL_SIZE 0x20 - -#define OMAP_ABE_D_IODESCR_ADDR 0x2060 -#define OMAP_ABE_D_IODESCR_SIZE 0x280 - -#define OMAP_ABE_D_ZERO_ADDR 0x22E0 -#define OMAP_ABE_D_ZERO_SIZE 0x4 - -#define OMAP_ABE_DBG_TRACE1_ADDR 0x22E4 -#define OMAP_ABE_DBG_TRACE1_SIZE 0x1 - -#define OMAP_ABE_DBG_TRACE2_ADDR 0x22E5 -#define OMAP_ABE_DBG_TRACE2_SIZE 0x1 - -#define OMAP_ABE_DBG_TRACE3_ADDR 0x22E6 -#define OMAP_ABE_DBG_TRACE3_SIZE 0x1 - -#define OMAP_ABE_D_MULTIFRAME_ADDR 0x22E8 -#define OMAP_ABE_D_MULTIFRAME_SIZE 0x190 - -#define OMAP_ABE_D_TASKSLIST_ADDR 0x2478 -#define OMAP_ABE_D_TASKSLIST_SIZE 0x800 - -#define OMAP_ABE_D_IDLETASK_ADDR 0x2C78 -#define OMAP_ABE_D_IDLETASK_SIZE 0x2 - -#define OMAP_ABE_D_TYPELENGTHCHECK_ADDR 0x2C7A -#define OMAP_ABE_D_TYPELENGTHCHECK_SIZE 0x2 - -#define OMAP_ABE_D_MAXTASKBYTESINSLOT_ADDR 0x2C7C -#define OMAP_ABE_D_MAXTASKBYTESINSLOT_SIZE 0x2 - -#define OMAP_ABE_D_REWINDTASKBYTES_ADDR 0x2C7E -#define OMAP_ABE_D_REWINDTASKBYTES_SIZE 0x2 - -#define OMAP_ABE_D_PCURRENTTASK_ADDR 0x2C80 -#define OMAP_ABE_D_PCURRENTTASK_SIZE 0x2 - -#define OMAP_ABE_D_PFASTLOOPBACK_ADDR 0x2C82 -#define OMAP_ABE_D_PFASTLOOPBACK_SIZE 0x2 - -#define OMAP_ABE_D_PNEXTFASTLOOPBACK_ADDR 0x2C84 -#define OMAP_ABE_D_PNEXTFASTLOOPBACK_SIZE 0x4 - -#define OMAP_ABE_D_PPCURRENTTASK_ADDR 0x2C88 -#define OMAP_ABE_D_PPCURRENTTASK_SIZE 0x2 - -#define OMAP_ABE_D_SLOTCOUNTER_ADDR 0x2C8C -#define OMAP_ABE_D_SLOTCOUNTER_SIZE 0x2 - -#define OMAP_ABE_D_LOOPCOUNTER_ADDR 0x2C90 -#define OMAP_ABE_D_LOOPCOUNTER_SIZE 0x4 - -#define OMAP_ABE_D_REWINDFLAG_ADDR 0x2C94 -#define OMAP_ABE_D_REWINDFLAG_SIZE 0x2 - -#define OMAP_ABE_D_SLOT23_CTRL_ADDR 0x2C98 -#define OMAP_ABE_D_SLOT23_CTRL_SIZE 0x4 - -#define OMAP_ABE_D_MCUIRQFIFO_ADDR 0x2C9C -#define OMAP_ABE_D_MCUIRQFIFO_SIZE 0x40 - -#define OMAP_ABE_D_PINGPONGDESC_ADDR 0x2CDC -#define OMAP_ABE_D_PINGPONGDESC_SIZE 0x18 - -#define OMAP_ABE_D_PP_MCU_IRQ_ADDR 0x2CF4 -#define OMAP_ABE_D_PP_MCU_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_CTRLPORTFIFO_ADDR 0x2D00 -#define OMAP_ABE_D_CTRLPORTFIFO_SIZE 0x10 - -#define OMAP_ABE_D_IDLE_STATE_ADDR 0x2D10 -#define OMAP_ABE_D_IDLE_STATE_SIZE 0x4 - -#define OMAP_ABE_D_STOP_REQUEST_ADDR 0x2D14 -#define OMAP_ABE_D_STOP_REQUEST_SIZE 0x4 - -#define OMAP_ABE_D_REF0_ADDR 0x2D18 -#define OMAP_ABE_D_REF0_SIZE 0x2 - -#define OMAP_ABE_D_DEBUGREGISTER_ADDR 0x2D1C -#define OMAP_ABE_D_DEBUGREGISTER_SIZE 0x8C - -#define OMAP_ABE_D_GCOUNT_ADDR 0x2DA8 -#define OMAP_ABE_D_GCOUNT_SIZE 0x2 - -#define OMAP_ABE_D_DCCOUNTER_ADDR 0x2DAC -#define OMAP_ABE_D_DCCOUNTER_SIZE 0x4 - -#define OMAP_ABE_D_DCSUM_ADDR 0x2DB0 -#define OMAP_ABE_D_DCSUM_SIZE 0x8 - -#define OMAP_ABE_D_FASTCOUNTER_ADDR 0x2DB8 -#define OMAP_ABE_D_FASTCOUNTER_SIZE 0x4 - -#define OMAP_ABE_D_SLOWCOUNTER_ADDR 0x2DBC -#define OMAP_ABE_D_SLOWCOUNTER_SIZE 0x4 - -#define OMAP_ABE_D_AUPLINKROUTING_ADDR 0x2DC0 -#define OMAP_ABE_D_AUPLINKROUTING_SIZE 0x20 - -#define OMAP_ABE_D_VIRTAUDIOLOOP_ADDR 0x2DE0 -#define OMAP_ABE_D_VIRTAUDIOLOOP_SIZE 0x4 - -#define OMAP_ABE_D_ASRCVARS_DL_VX_ADDR 0x2DE4 -#define OMAP_ABE_D_ASRCVARS_DL_VX_SIZE 0x20 - -#define OMAP_ABE_D_ASRCVARS_UL_VX_ADDR 0x2E04 -#define OMAP_ABE_D_ASRCVARS_UL_VX_SIZE 0x20 - -#define OMAP_ABE_D_COEFADDRESSES_VX_ADDR 0x2E24 -#define OMAP_ABE_D_COEFADDRESSES_VX_SIZE 0x20 - -#define OMAP_ABE_D_ASRCVARS_MM_EXT_IN_ADDR 0x2E44 -#define OMAP_ABE_D_ASRCVARS_MM_EXT_IN_SIZE 0x20 - -#define OMAP_ABE_D_COEFADDRESSES_MM_ADDR 0x2E64 -#define OMAP_ABE_D_COEFADDRESSES_MM_SIZE 0x20 - -#define OMAP_ABE_D_APS_DL1_M_THRESHOLDS_ADDR 0x2E84 -#define OMAP_ABE_D_APS_DL1_M_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL1_M_IRQ_ADDR 0x2E8C -#define OMAP_ABE_D_APS_DL1_M_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_APS_DL1_C_IRQ_ADDR 0x2E8E -#define OMAP_ABE_D_APS_DL1_C_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_TRACEBUFADR_ADDR 0x2E90 -#define OMAP_ABE_D_TRACEBUFADR_SIZE 0x2 - -#define OMAP_ABE_D_TRACEBUFOFFSET_ADDR 0x2E92 -#define OMAP_ABE_D_TRACEBUFOFFSET_SIZE 0x2 - -#define OMAP_ABE_D_TRACEBUFLENGTH_ADDR 0x2E94 -#define OMAP_ABE_D_TRACEBUFLENGTH_SIZE 0x2 - -#define OMAP_ABE_D_ASRCVARS_ECHO_REF_ADDR 0x2E98 -#define OMAP_ABE_D_ASRCVARS_ECHO_REF_SIZE 0x20 - -#define OMAP_ABE_D_PEMPTY_ADDR 0x2EB8 -#define OMAP_ABE_D_PEMPTY_SIZE 0x4 - -#define OMAP_ABE_D_APS_DL2_L_M_IRQ_ADDR 0x2EBC -#define OMAP_ABE_D_APS_DL2_L_M_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_APS_DL2_L_C_IRQ_ADDR 0x2EBE -#define OMAP_ABE_D_APS_DL2_L_C_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_APS_DL2_R_M_IRQ_ADDR 0x2EC0 -#define OMAP_ABE_D_APS_DL2_R_M_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_APS_DL2_R_C_IRQ_ADDR 0x2EC2 -#define OMAP_ABE_D_APS_DL2_R_C_IRQ_SIZE 0x2 - -#define OMAP_ABE_D_APS_DL1_C_THRESHOLDS_ADDR 0x2EC4 -#define OMAP_ABE_D_APS_DL1_C_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_L_M_THRESHOLDS_ADDR 0x2ECC -#define OMAP_ABE_D_APS_DL2_L_M_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_L_C_THRESHOLDS_ADDR 0x2ED4 -#define OMAP_ABE_D_APS_DL2_L_C_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_R_M_THRESHOLDS_ADDR 0x2EDC -#define OMAP_ABE_D_APS_DL2_R_M_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_R_C_THRESHOLDS_ADDR 0x2EE4 -#define OMAP_ABE_D_APS_DL2_R_C_THRESHOLDS_SIZE 0x8 - -#define OMAP_ABE_D_ECHO_REF_48_16_WRAP_ADDR 0x2EEC -#define OMAP_ABE_D_ECHO_REF_48_16_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_ECHO_REF_48_8_WRAP_ADDR 0x2EF4 -#define OMAP_ABE_D_ECHO_REF_48_8_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_BT_UL_16_48_WRAP_ADDR 0x2EFC -#define OMAP_ABE_D_BT_UL_16_48_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_BT_UL_8_48_WRAP_ADDR 0x2F04 -#define OMAP_ABE_D_BT_UL_8_48_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_BT_DL_48_16_WRAP_ADDR 0x2F0C -#define OMAP_ABE_D_BT_DL_48_16_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_BT_DL_48_8_WRAP_ADDR 0x2F14 -#define OMAP_ABE_D_BT_DL_48_8_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_VX_DL_16_48_WRAP_ADDR 0x2F1C -#define OMAP_ABE_D_VX_DL_16_48_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_VX_DL_8_48_WRAP_ADDR 0x2F24 -#define OMAP_ABE_D_VX_DL_8_48_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_VX_UL_48_16_WRAP_ADDR 0x2F2C -#define OMAP_ABE_D_VX_UL_48_16_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_VX_UL_48_8_WRAP_ADDR 0x2F34 -#define OMAP_ABE_D_VX_UL_48_8_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL1_IRQS_WRAP_ADDR 0x2F3C -#define OMAP_ABE_D_APS_DL1_IRQS_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_L_IRQS_WRAP_ADDR 0x2F44 -#define OMAP_ABE_D_APS_DL2_L_IRQS_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_APS_DL2_R_IRQS_WRAP_ADDR 0x2F4C -#define OMAP_ABE_D_APS_DL2_R_IRQS_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_NEXTMULTIFRAME_ADDR 0x2F54 -#define OMAP_ABE_D_NEXTMULTIFRAME_SIZE 0x8 - -#define OMAP_ABE_D_HW_TEST_ADDR 0x2F5C -#define OMAP_ABE_D_HW_TEST_SIZE 0x8 - -#define OMAP_ABE_D_TRACEBUFADR_HAL_ADDR 0x2F64 -#define OMAP_ABE_D_TRACEBUFADR_HAL_SIZE 0x4 - -#define OMAP_ABE_D_DEBUG_HAL_TASK_ADDR 0x3000 -#define OMAP_ABE_D_DEBUG_HAL_TASK_SIZE 0x800 - -#define OMAP_ABE_D_DEBUG_FW_TASK_ADDR 0x3800 -#define OMAP_ABE_D_DEBUG_FW_TASK_SIZE 0x100 - -#define OMAP_ABE_D_FWMEMINIT_ADDR 0x3900 -#define OMAP_ABE_D_FWMEMINIT_SIZE 0x3C0 - -#define OMAP_ABE_D_FWMEMINITDESCR_ADDR 0x3CC0 -#define OMAP_ABE_D_FWMEMINITDESCR_SIZE 0x10 - -#define OMAP_ABE_D_ASRCVARS_BT_UL_ADDR 0x3CD0 -#define OMAP_ABE_D_ASRCVARS_BT_UL_SIZE 0x20 - -#define OMAP_ABE_D_ASRCVARS_BT_DL_ADDR 0x3CF0 -#define OMAP_ABE_D_ASRCVARS_BT_DL_SIZE 0x20 - -#define OMAP_ABE_D_BT_DL_48_8_OPP100_WRAP_ADDR 0x3D10 -#define OMAP_ABE_D_BT_DL_48_8_OPP100_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_BT_DL_48_16_OPP100_WRAP_ADDR 0x3D18 -#define OMAP_ABE_D_BT_DL_48_16_OPP100_WRAP_SIZE 0x8 - -#define OMAP_ABE_D_PING_ADDR 0x4000 -#define OMAP_ABE_D_PING_SIZE 0x6000 - -#define OMAP_ABE_D_PONG_ADDR 0xA000 -#define OMAP_ABE_D_PONG_SIZE 0x6000 + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#define OMAP_ABE_D_ATCDESCRIPTORS_ADDR 0x0 +#define OMAP_ABE_D_ATCDESCRIPTORS_SIZE 0x200 +#define OMAP_ABE_STACK_ADDR 0x200 +#define OMAP_ABE_STACK_SIZE 0x70 +#define OMAP_ABE_D_VERSION_ADDR 0x270 +#define OMAP_ABE_D_VERSION_SIZE 0x4 +#define OMAP_ABE_D_IODESCR_ADDR 0x274 +#define OMAP_ABE_D_IODESCR_SIZE 0x280 +#define OMAP_ABE_D_ZERO_ADDR 0x4F4 +#define OMAP_ABE_D_ZERO_SIZE 0x4 +#define OMAP_ABE_DBG_TRACE1_ADDR 0x4F8 +#define OMAP_ABE_DBG_TRACE1_SIZE 0x1 +#define OMAP_ABE_DBG_TRACE2_ADDR 0x4F9 +#define OMAP_ABE_DBG_TRACE2_SIZE 0x1 +#define OMAP_ABE_DBG_TRACE3_ADDR 0x4FA +#define OMAP_ABE_DBG_TRACE3_SIZE 0x1 +#define OMAP_ABE_D_MULTIFRAME_ADDR 0x4FC +#define OMAP_ABE_D_MULTIFRAME_SIZE 0x190 +#define OMAP_ABE_D_IDLETASK_ADDR 0x68C +#define OMAP_ABE_D_IDLETASK_SIZE 0x2 +#define OMAP_ABE_D_TYPELENGTHCHECK_ADDR 0x68E +#define OMAP_ABE_D_TYPELENGTHCHECK_SIZE 0x2 +#define OMAP_ABE_D_MAXTASKBYTESINSLOT_ADDR 0x690 +#define OMAP_ABE_D_MAXTASKBYTESINSLOT_SIZE 0x2 +#define OMAP_ABE_D_REWINDTASKBYTES_ADDR 0x692 +#define OMAP_ABE_D_REWINDTASKBYTES_SIZE 0x2 +#define OMAP_ABE_D_PCURRENTTASK_ADDR 0x694 +#define OMAP_ABE_D_PCURRENTTASK_SIZE 0x2 +#define OMAP_ABE_D_PFASTLOOPBACK_ADDR 0x696 +#define OMAP_ABE_D_PFASTLOOPBACK_SIZE 0x2 +#define OMAP_ABE_D_PNEXTFASTLOOPBACK_ADDR 0x698 +#define OMAP_ABE_D_PNEXTFASTLOOPBACK_SIZE 0x4 +#define OMAP_ABE_D_PPCURRENTTASK_ADDR 0x69C +#define OMAP_ABE_D_PPCURRENTTASK_SIZE 0x2 +#define OMAP_ABE_D_SLOTCOUNTER_ADDR 0x6A0 +#define OMAP_ABE_D_SLOTCOUNTER_SIZE 0x2 +#define OMAP_ABE_D_LOOPCOUNTER_ADDR 0x6A4 +#define OMAP_ABE_D_LOOPCOUNTER_SIZE 0x4 +#define OMAP_ABE_D_REWINDFLAG_ADDR 0x6A8 +#define OMAP_ABE_D_REWINDFLAG_SIZE 0x2 +#define OMAP_ABE_D_SLOT23_CTRL_ADDR 0x6AC +#define OMAP_ABE_D_SLOT23_CTRL_SIZE 0x4 +#define OMAP_ABE_D_MCUIRQFIFO_ADDR 0x6B0 +#define OMAP_ABE_D_MCUIRQFIFO_SIZE 0x40 +#define OMAP_ABE_D_PINGPONGDESC_ADDR 0x6F0 +#define OMAP_ABE_D_PINGPONGDESC_SIZE 0x18 +#define OMAP_ABE_D_PP_MCU_IRQ_ADDR 0x708 +#define OMAP_ABE_D_PP_MCU_IRQ_SIZE 0x2 +#define OMAP_ABE_D_SRC44P1_MMDL_STRUCT_ADDR 0x70C +#define OMAP_ABE_D_SRC44P1_MMDL_STRUCT_SIZE 0x12 +#define OMAP_ABE_D_SRC44P1_TONES_STRUCT_ADDR 0x720 +#define OMAP_ABE_D_SRC44P1_TONES_STRUCT_SIZE 0x12 +#define OMAP_ABE_D_CTRLPORTFIFO_ADDR 0x740 +#define OMAP_ABE_D_CTRLPORTFIFO_SIZE 0x10 +#define OMAP_ABE_D_IDLE_STATE_ADDR 0x750 +#define OMAP_ABE_D_IDLE_STATE_SIZE 0x4 +#define OMAP_ABE_D_STOP_REQUEST_ADDR 0x754 +#define OMAP_ABE_D_STOP_REQUEST_SIZE 0x4 +#define OMAP_ABE_D_REF0_ADDR 0x758 +#define OMAP_ABE_D_REF0_SIZE 0x2 +#define OMAP_ABE_D_DEBUGREGISTER_ADDR 0x75C +#define OMAP_ABE_D_DEBUGREGISTER_SIZE 0x8C +#define OMAP_ABE_D_GCOUNT_ADDR 0x7E8 +#define OMAP_ABE_D_GCOUNT_SIZE 0x2 +#define OMAP_ABE_D_FASTCOUNTER_ADDR 0x7EC +#define OMAP_ABE_D_FASTCOUNTER_SIZE 0x4 +#define OMAP_ABE_D_SLOWCOUNTER_ADDR 0x7F0 +#define OMAP_ABE_D_SLOWCOUNTER_SIZE 0x4 +#define OMAP_ABE_D_AUPLINKROUTING_ADDR 0x7F4 +#define OMAP_ABE_D_AUPLINKROUTING_SIZE 0x20 +#define OMAP_ABE_D_VIRTAUDIOLOOP_ADDR 0x814 +#define OMAP_ABE_D_VIRTAUDIOLOOP_SIZE 0x4 +#define OMAP_ABE_D_ASRCVARS_DL_VX_ADDR 0x818 +#define OMAP_ABE_D_ASRCVARS_DL_VX_SIZE 0x20 +#define OMAP_ABE_D_ASRCVARS_UL_VX_ADDR 0x838 +#define OMAP_ABE_D_ASRCVARS_UL_VX_SIZE 0x20 +#define OMAP_ABE_D_COEFADDRESSES_VX_ADDR 0x858 +#define OMAP_ABE_D_COEFADDRESSES_VX_SIZE 0x20 +#define OMAP_ABE_D_ASRCVARS_MM_EXT_IN_ADDR 0x878 +#define OMAP_ABE_D_ASRCVARS_MM_EXT_IN_SIZE 0x20 +#define OMAP_ABE_D_COEFADDRESSES_MM_ADDR 0x898 +#define OMAP_ABE_D_COEFADDRESSES_MM_SIZE 0x20 +#define OMAP_ABE_D_TRACEBUFADR_ADDR 0x8B8 +#define OMAP_ABE_D_TRACEBUFADR_SIZE 0x2 +#define OMAP_ABE_D_TRACEBUFOFFSET_ADDR 0x8BA +#define OMAP_ABE_D_TRACEBUFOFFSET_SIZE 0x2 +#define OMAP_ABE_D_TRACEBUFLENGTH_ADDR 0x8BC +#define OMAP_ABE_D_TRACEBUFLENGTH_SIZE 0x2 +#define OMAP_ABE_D_PEMPTY_ADDR 0x8C0 +#define OMAP_ABE_D_PEMPTY_SIZE 0x54 +#define OMAP_ABE_D_ECHO_REF_48_16_WRAP_ADDR 0x914 +#define OMAP_ABE_D_ECHO_REF_48_16_WRAP_SIZE 0x8 +#define OMAP_ABE_D_ECHO_REF_48_8_WRAP_ADDR 0x91C +#define OMAP_ABE_D_ECHO_REF_48_8_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_UL_16_48_WRAP_ADDR 0x924 +#define OMAP_ABE_D_BT_UL_16_48_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_UL_8_48_WRAP_ADDR 0x92C +#define OMAP_ABE_D_BT_UL_8_48_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_DL_48_16_WRAP_ADDR 0x934 +#define OMAP_ABE_D_BT_DL_48_16_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_DL_48_8_WRAP_ADDR 0x93C +#define OMAP_ABE_D_BT_DL_48_8_WRAP_SIZE 0x8 +#define OMAP_ABE_D_VX_DL_16_48_WRAP_ADDR 0x944 +#define OMAP_ABE_D_VX_DL_16_48_WRAP_SIZE 0x8 +#define OMAP_ABE_D_VX_DL_8_48_WRAP_ADDR 0x94C +#define OMAP_ABE_D_VX_DL_8_48_WRAP_SIZE 0x8 +#define OMAP_ABE_D_VX_UL_48_16_WRAP_ADDR 0x954 +#define OMAP_ABE_D_VX_UL_48_16_WRAP_SIZE 0x8 +#define OMAP_ABE_D_VX_UL_48_8_WRAP_ADDR 0x95C +#define OMAP_ABE_D_VX_UL_48_8_WRAP_SIZE 0x8 +#define OMAP_ABE_D_ASRCVARS_BT_UL_ADDR 0x964 +#define OMAP_ABE_D_ASRCVARS_BT_UL_SIZE 0x20 +#define OMAP_ABE_D_ASRCVARS_BT_DL_ADDR 0x984 +#define OMAP_ABE_D_ASRCVARS_BT_DL_SIZE 0x20 +#define OMAP_ABE_D_BT_DL_48_8_OPP100_WRAP_ADDR 0x9A4 +#define OMAP_ABE_D_BT_DL_48_8_OPP100_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_DL_48_16_OPP100_WRAP_ADDR 0x9AC +#define OMAP_ABE_D_BT_DL_48_16_OPP100_WRAP_SIZE 0x8 +#define OMAP_ABE_D_VX_DL_8_48_FIR_WRAP_ADDR 0x9B4 +#define OMAP_ABE_D_VX_DL_8_48_FIR_WRAP_SIZE 0x8 +#define OMAP_ABE_D_BT_UL_8_48_FIR_WRAP_ADDR 0x9BC +#define OMAP_ABE_D_BT_UL_8_48_FIR_WRAP_SIZE 0x8 +#define OMAP_ABE_D_TASKSLIST_ADDR 0x9C4 +#define OMAP_ABE_D_TASKSLIST_SIZE 0x880 +#define OMAP_ABE_D_HW_TEST_ADDR 0x1244 +#define OMAP_ABE_D_HW_TEST_SIZE 0x28 +#define OMAP_ABE_D_TRACEBUFADR_HAL_ADDR 0x126C +#define OMAP_ABE_D_TRACEBUFADR_HAL_SIZE 0x4 +#define OMAP_ABE_D_DEBUG_FW_TASK_ADDR 0x1400 +#define OMAP_ABE_D_DEBUG_FW_TASK_SIZE 0x100 +#define OMAP_ABE_D_DEBUG_FIFO_ADDR 0x1500 +#define OMAP_ABE_D_DEBUG_FIFO_SIZE 0x60 +#define OMAP_ABE_D_DEBUG_FIFO_HAL_ADDR 0x1560 +#define OMAP_ABE_D_DEBUG_FIFO_HAL_SIZE 0x20 +#define OMAP_ABE_D_FWMEMINIT_ADDR 0x1580 +#define OMAP_ABE_D_FWMEMINIT_SIZE 0x3C0 +#define OMAP_ABE_D_FWMEMINITDESCR_ADDR 0x1940 +#define OMAP_ABE_D_FWMEMINITDESCR_SIZE 0x10 +#define OMAP_ABE_D_BT_DL_FIFO_ADDR 0x1C00 +#define OMAP_ABE_D_BT_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_BT_UL_FIFO_ADDR 0x1E00 +#define OMAP_ABE_D_BT_UL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MM_EXT_OUT_FIFO_ADDR 0x2000 +#define OMAP_ABE_D_MM_EXT_OUT_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MM_EXT_IN_FIFO_ADDR 0x2200 +#define OMAP_ABE_D_MM_EXT_IN_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MM_UL2_FIFO_ADDR 0x2400 +#define OMAP_ABE_D_MM_UL2_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_DMIC_UL_FIFO_ADDR 0x2600 +#define OMAP_ABE_D_DMIC_UL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MM_UL_FIFO_ADDR 0x2800 +#define OMAP_ABE_D_MM_UL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MM_DL_FIFO_ADDR 0x2A00 +#define OMAP_ABE_D_MM_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_TONES_DL_FIFO_ADDR 0x2C00 +#define OMAP_ABE_D_TONES_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_VIB_DL_FIFO_ADDR 0x2E00 +#define OMAP_ABE_D_VIB_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_DEBUG_HAL_TASK_ADDR 0x3000 +#define OMAP_ABE_D_DEBUG_HAL_TASK_SIZE 0x800 +#define OMAP_ABE_D_MCPDM_DL_FIFO_ADDR 0x3800 +#define OMAP_ABE_D_MCPDM_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_MCPDM_UL_FIFO_ADDR 0x3A00 +#define OMAP_ABE_D_MCPDM_UL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_VX_UL_FIFO_ADDR 0x3C00 +#define OMAP_ABE_D_VX_UL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_VX_DL_FIFO_ADDR 0x3E00 +#define OMAP_ABE_D_VX_DL_FIFO_SIZE 0x1E0 +#define OMAP_ABE_D_PING_ADDR 0x4000 +#define OMAP_ABE_D_PING_SIZE 0x6000 +#define OMAP_ABE_D_PONG_ADDR 0xA000 +#define OMAP_ABE_D_PONG_SIZE 0x6000 diff --git a/sound/soc/omap/abe/abe_firmware.c b/sound/soc/omap/abe/abe_firmware.c index 6942aa4..01e6e31 100644 --- a/sound/soc/omap/abe/abe_firmware.c +++ b/sound/soc/omap/abe/abe_firmware.c @@ -1,9 +1,9 @@ 0xabeabe00, 0x00000000, -0x000178e8, +0x000187fc, 0x00000c60, 0x00000001, -0x00009110, +0x00009460, 0x00000006, 0x20314c44, 0x61757145, @@ -797,17 +797,17 @@ 0x0033fbf6, 0xffdd34fa, 0x000fea26, -0x00009110, /* VERSION NUMBER */ -0x00002000, /* PMEM LENGTH IN BYTES */ -0x000013E4, /* CMEM LENGTH IN BYTES */ -0x00010000, /* DMEM LENGTH IN BYTES */ -0x000044F0, /* SMEM LENGTH IN BYTES */ +0x00009460, +0x00002000, +0x00001b80, +0x00010000, +0x00004c68, 0x1600200f, -0x0a000670, +0x0a000940, 0x08200000, 0x08200000, 0x07800000, -0x1602d1ce, +0x160075ce, 0x014000e0, 0x014000e1, 0x014000e2, @@ -826,31 +826,31 @@ 0x014000ef, 0x144000e4, 0x9e000000, -0x0a200c40, +0x0a200e10, 0x9e000040, -0x0a200c40, +0x0a200e10, 0x9e000080, -0x0a200c40, +0x0a200e10, 0x9e0000c0, -0x0a200c40, +0x0a200e10, 0x9e080000, -0x0a200c40, +0x0a200e10, 0x9e080100, -0x0a200c40, +0x0a200e10, 0x9e080200, -0x0a200c40, +0x0a200e10, 0x9e080300, -0x0a200c40, +0x0a200e10, 0x9e080400, -0x0a200c40, +0x0a200e10, 0x9e080500, -0x0a200c40, +0x0a200e10, 0x9e080600, -0x0a200c40, +0x0a200e10, 0x9e080700, -0x0a200c40, +0x0a200e10, 0x9c050800, -0x0a200c40, +0x0a200e10, 0x16000010, 0x16000001, 0x17000102, @@ -858,20 +858,65 @@ 0x17800103, 0x01400043, 0x98020000, +0x160003c6, +0x07800000, +0x07800000, +0x9c03b660, +0x0a0003f0, 0x9d0c8118, 0x07800000, +0x9c0c07b0, 0x9f16001a, 0x9f12021a, 0x9f12031a, 0x9f12051a, -0x98800380, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, +0x988003d0, +0x07800000, 0x9d0c8118, 0x08200000, +0x160003c6, +0x07800000, +0x07800000, +0x9c03b660, +0x0a000540, +0x9d0c8158, +0x07800000, +0x9c0c07b0, +0x9f16001a, +0x9f12021a, +0x9f12031a, +0x9f12051a, +0x9f040040, +0x9c0c07b0, +0x9f03fc10, +0x9f092060, +0x9f082070, +0x98800520, +0x07800000, +0x9d0c8158, +0x08200000, +0x160003c6, +0x07800000, +0x07800000, +0x9c03b660, +0x0a000690, 0x9d0c8118, 0x07800000, +0x9c0c07b0, 0x9f15001a, 0x9f11041a, -0x98800410, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, +0x98800670, +0x07800000, 0x9d0c8118, 0x08200000, 0x400002c0, @@ -905,46 +950,30 @@ 0x9d01b260, 0x9d02bc70, 0x08200000, -0x1602c7c6, +0x16006906, 0x00000068, 0x16003fc5, 0x01000058, -0x1602c88a, +0x160069ca, 0x000000a9, 0x16003fc6, 0x00000068, 0x0400089b, 0x4000009c, -0x1602c80e, +0x1600694e, 0x410000ec, 0x0600000c, -0x1600274d, -0x0a800870, -0x1602e903, -0x00000030, -0x00000231, -0x00000435, -0x04800211, -0x04400511, -0x1602c944, -0x0000004e, -0x0300010e, -0x04800211, -0x04400511, -0x0300010c, -0x04800211, -0x04400511, -0x03000109, -0x01000231, -0x0a200480, +0x1601270d, +0x0a800a40, +0x0a200750, 0x04800299, 0x410000a9, 0x05c00b90, -0x4ac00700, +0x4ac009d0, 0x04a01085, -0x1602c8c4, +0x16006a04, 0x40000047, -0x1602c94e, +0x16006a8e, 0x04200599, 0x400000e1, 0x04800177, @@ -953,25 +982,25 @@ 0x04a00111, 0x410000e1, 0x06000001, -0x4aa00a50, -0x1602c90d, +0x4aa00c20, +0x16006a4d, 0x400000d6, -0x16022e89, +0x16004fc9, 0x400002d7, 0x04800166, 0x410000a9, 0x04900077, 0x010000d6, 0x010002d7, -0x1602c7c6, +0x16006906, 0x00000068, 0x16003fc5, 0x01000058, 0x1600c005, -0x1602d141, +0x16007541, 0x16000002, 0x40000011, -0x1602d100, +0x16007500, 0x9e0e0550, 0xdd140530, 0x160ffff4, @@ -980,8 +1009,8 @@ 0x08400000, 0x01000004, 0x9d140550, -0x0a8006b0, -0x0a000a50, +0x0a800980, +0x0a000c20, 0x048006ff, 0x013ffafb, 0x013ffcfc, @@ -989,10 +1018,10 @@ 0x04a0020b, 0x004002bc, 0x0600000c, -0x1600274d, -0x0a800bf0, -0x0a200480, -0x0a000b90, +0x1601270d, +0x0a800dc0, +0x0a200750, +0x0a000d60, 0x003ffefe, 0x003ffcfc, 0x003ffafb, @@ -1019,64 +1048,80 @@ 0x9d033260, 0x08200000, 0x9f158048, +0x9c0c07b0, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, 0x07800000, 0x07800000, 0x9d088118, -0x98800d80, +0x98800f50, 0x08200000, 0x9f158048, 0x9f040040, -0x07800000, +0x9c0c07b0, 0x9f03fc10, -0x07800000, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, 0x07800000, 0x07800000, 0x9d188148, -0x98800de0, +0x98801010, 0x08200000, 0x9f158048, +0x9c0c07b0, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, 0x07800000, -0x07800000, -0x9d188148, 0x9d188108, -0x98800e80, +0x9d188148, +0x988010f0, 0x08200000, 0x9f158048, -0x07800000, -0x07800000, -0x9d0e0040, -0x07800000, +0x9c0c07b0, +0x9f092060, +0x9f082070, +0x9c0c07b0, +0x9f092020, +0x9f082030, 0x07800000, 0x9d1e8148, 0x9d1e8108, -0x98800ef0, +0x988011b0, 0x08200000, 0x9f158018, 0x9f040010, -0x07800000, +0x9c0c07b0, 0x9f03fc10, -0x07800000, -0x07800000, -0x07800000, -0x9d0e0010, -0x07800000, -0x07800000, +0x9f092020, +0x9f082030, +0x9c0c07b0, +0x9f092060, +0x9f082070, 0x9d1e8108, -0x98800f90, +0x98801270, 0x08200000, 0x9c080048, 0x9f1d0010, 0x07800000, 0x07800000, 0x9d0c8118, -0x98801060, +0x98801330, 0x08200000, 0x9c180028, 0x9f1d0010, 0x07800000, 0x07800000, 0x9d0c8108, -0x988010d0, +0x988013a0, 0x08200000, 0x9c180068, 0x9c180028, @@ -1084,7 +1129,7 @@ 0x07800000, 0x07800000, 0x9d0c8148, -0x98801140, +0x98801410, 0x08200000, 0x9c1e0048, 0x9c1e0008, @@ -1092,14 +1137,14 @@ 0x07800000, 0x07800000, 0x9d0c8148, -0x988011c0, +0x98801490, 0x08200000, 0x9c1e0008, 0x9f1d0010, 0x07800000, 0x07800000, 0x9d0c8108, -0x98801240, +0x98801510, 0x08200000, 0x160004a4, 0x160004b5, @@ -1123,30 +1168,46 @@ 0x07800000, 0x07800000, 0x9d0c8518, -0x98801320, +0x988015f0, 0x9d032340, 0x9d032c50, 0x9d033560, 0x08200000, +0x160003c2, 0x16000504, 0x16000515, 0x16000526, +0x9c011720, 0x9c03a440, 0x9c03ad50, 0x9c03b660, 0x160000bd, 0x9f158418, -0x9f1585b8, +0x9c0c02b0, +0x9f091020, +0x9f081030, +0x9c0c02b0, +0x9f091060, +0x9f081070, 0x07800000, -0x9d188108, -0x9d188148, -0x9d188188, +0x9d180108, +0x9d180148, +0x9f158518, +0x9c0c02b0, +0x9f091020, +0x9f081030, +0x9c0c02b0, +0x9f091060, +0x9f081070, +0x07800000, +0x9d180108, +0x9d180148, 0x9c0c0618, 0x07800000, -0x9d1881c8, -0x9d188108, -0x9d188148, -0x988014d0, +0x07800000, +0x9d180108, +0x9d180148, +0x988017c0, 0x9d032440, 0x9d032d50, 0x9d033660, @@ -1160,7 +1221,7 @@ 0x9d188108, 0x9f158038, 0x07800000, -0x98801630, +0x98801a00, 0x9d188108, 0x08200000, 0x9e088100, @@ -1182,7 +1243,7 @@ 0x07800000, 0x07800000, 0x9d0c8118, -0x988017b0, +0x98801b80, 0x08200000, 0x08200000, 0x08200000, @@ -1212,23 +1273,23 @@ 0x9f0020b0, 0x9f0400d0, 0x05800560, -0x0a8019d0, +0x0a801da0, 0x9c0c0510, -0x0a0019e0, +0x0a001db0, 0x9c0c0618, 0x16000014, 0x9d0c81e8, 0x9d0c8148, -0x0a801a50, +0x0a801e20, 0x9c0c05b0, 0x9c0c0510, -0x0a001a70, +0x0a001e40, 0x9c0c06b8, 0x9c0c0618, 0x07800000, 0x9d0c81e8, 0x9d0c8148, -0x98801850, +0x98801c20, 0x9d180750, 0x08200000, 0x9d019220, @@ -1237,26 +1298,179 @@ 0x413ffefe, 0x16000040, 0x9c010910, -0x0a202e80, +0x0a204610, 0x14400040, 0x9c030810, 0x16000171, 0x9c009f30, 0x9c019220, -0x0a202980, +0x0a204110, 0x9c009830, 0x003ffefe, 0x048ffeff, 0x08200000, +0x40001807, +0x160000bd, +0x05800370, +0x9e088000, +0x0ba00000, +0x41801003, +0x14400073, +0x9e088200, +0x16001806, +0x16000005, +0x04200377, +0x05800570, +0x17800566, +0x04000677, +0x04a09076, +0x05800560, +0x16000184, +0x4ac021e0, +0x04a0c077, +0x160003d6, +0x05800570, +0x9d02b060, +0x0ac02130, +0x01801005, +0x0a002170, +0x9c1800a8, +0x9d02b060, +0x07800000, +0xa0062019, +0x07800000, +0x9c02b060, +0x9d0c8118, +0x98802140, +0x07800000, +0x08200000, +0x01000015, +0x9e0f0050, +0x9e0f0450, +0x9e0f0140, +0x08200000, +0x40001807, +0x160000bd, +0x05800370, +0x9e088000, +0x0ba00000, +0x048002ff, +0x41801003, +0x14400073, +0x013ffefe, +0x9e088200, +0x16001806, +0x16000005, +0x04200377, +0x05800570, +0x17800566, +0x04000677, +0x04a09076, +0x05800560, +0x00000212, +0x4ac027c0, +0x04a0c077, +0x05800570, +0x00000413, +0x4ac023d0, +0x04800816, +0x01801005, +0x00001017, +0x9e0e0760, +0xdc029e30, +0x16000a44, +0x9e0e0470, +0xdc029320, +0x160000bd, +0x9c1807a4, +0x9c1807e0, +0xdc03a540, +0x160003d2, +0x40000613, +0x16000184, +0x00000010, +0x9d029020, +0x0a002500, +0x9d0c8118, +0x9d029020, +0x9f0608b0, +0xa0062019, +0xdc029020, +0x04a00133, +0xdd0c0618, +0x04a00100, +0x9f040020, +0xdc100388, +0x05800050, +0x9f040070, +0x9f1185b2, +0x0ae02650, +0xdd100380, +0x05800350, +0x9e0f0450, +0x4ae02680, +0x160000b0, +0x9f0304b0, +0x9d029020, +0x9d100380, +0x4a002500, +0x16001bb3, +0x9d100380, +0x9c1800a8, +0x07800000, +0x9f1d8010, +0x9f138612, +0x9f1f8012, +0x988024d0, +0x07800000, +0x9d0c8118, +0x04800814, +0x9e0e0740, +0x01000613, +0x01000010, +0x00000413, +0x9e088400, +0x9d188704, +0x9d188740, +0x01001014, +0x9d029e30, +0x003ffefe, +0x048ffeff, +0x9d029e30, +0x08200000, +0x9f030410, +0x160003c4, +0x160000b0, +0x16001bb3, +0x9e0f0250, +0x9e0f0450, +0x9e0f0040, +0x0a0026e0, +0x40000024, +0x048002ff, +0x41000224, +0x16000005, +0x413ffefe, +0x04000400, +0x9e0f0150, +0x01000025, +0x0a202bb0, +0x403ffefe, +0x16000007, +0x9e0f0170, +0x048ffeff, +0x08200000, 0x40000024, 0x048002ff, 0x41000224, 0x16000005, 0x413ffefe, +0x16000016, +0x41800dc6, 0x04000400, 0x9e0f0150, 0x01000025, -0x0a201d80, +0x0a2034f0, 0x403ffefe, 0x16000007, 0x9e0f0170, @@ -1266,7 +1480,20 @@ 0x413ffefe, 0x16000005, 0x01000025, -0x0a201d80, +0x0a202bb0, +0x40000024, +0x16000005, +0x403ffefe, +0x04200454, +0x41000224, +0x048ffeff, +0x08200000, +0x048002ff, +0x413ffefe, +0x16000005, +0x01000025, +0x01800dc5, +0x0a2034f0, 0x40000024, 0x16000005, 0x403ffefe, @@ -1291,25 +1518,25 @@ 0x9c180674, 0x9c180650, 0x058001a0, -0x0aa02280, +0x0aa030b0, 0x04800144, 0x04400044, 0x05800040, -0x0aa01fc0, +0x0aa02df0, 0x05800160, -0x0ac01f60, +0x0ac02d90, 0x9e090000, 0x07800000, 0x07800000, 0x9e0d0500, 0x9d040508, -0x0a002150, +0x0a002f80, 0x9d040008, 0x9e090000, 0x07800000, 0x9d040008, 0x9e0d0500, -0x0a002150, +0x0a002f80, 0x9d040008, 0x9e090000, 0x07800000, @@ -1318,18 +1545,18 @@ 0x1280010a, 0x048001a9, 0x05800940, -0x0aa02150, +0x0aa02f80, 0x05800160, 0x40000628, 0x160ffff9, -0x0ac020e0, +0x0ac02f10, 0x05800180, -0x0ae02150, +0x0ae02f80, 0x160ffff6, 0x160ffff7, -0x0a002120, +0x0a002f50, 0x05800810, -0x0ae02150, +0x0ae02f80, 0x16000016, 0x16000007, 0x9d044690, @@ -1337,10 +1564,10 @@ 0x9d180674, 0x05800160, 0x9d180654, -0x0ac021c0, +0x0ac02ff0, 0x0420040a, 0x04a001ab, -0x4a0021f0, +0x4a003020, 0x044000bb, 0x0480014b, 0x044000bb, @@ -1352,24 +1579,24 @@ 0x12000288, 0x12000299, 0x9e0e8280, -0xca002390, +0xca0031c0, 0x1e0e8390, 0xdd040604, 0x05800160, -0x0ac02330, +0x0ac03160, 0x9d040008, 0x9e090000, 0x07800000, 0x05800040, 0x9e0d0500, -0x0aa02390, +0x0aa031c0, 0x9d040508, -0x0a002390, +0x0a0031c0, 0x9e090000, 0x05800040, 0x9d040008, 0x9e0d0500, -0x0a802390, +0x0a8031c0, 0x9d040508, 0x9c1d06c4, 0xdc1d0644, @@ -1382,7 +1609,7 @@ 0x9d108700, 0x00000cc9, 0x06000008, -0x0aa02590, +0x0aa033c0, 0xdc1d0684, 0x14400005, 0xdc1d0604, @@ -1393,16 +1620,16 @@ 0xdd108700, 0x160ffff8, 0x05800540, -0x0aa02550, +0x0aa03380, 0x05800160, -0x0ac02540, +0x0ac03370, 0x01000027, -0x0a002550, +0x0a003380, 0x01000028, 0x9e088000, 0xa0054dba, 0xa005c81a, -0x0a002620, +0x0a003450, 0x9e088000, 0xa0054dba, 0xa005c81a, @@ -1415,56 +1642,206 @@ 0x9d0446a0, 0x9e0f0070, 0x9d0c8118, -0x98801e20, +0x98802c50, 0x003ffefb, 0x003ffcfa, 0x003ffaf9, 0x003ff8f8, 0x048ff8ff, 0x08200000, -0x9c0c0018, -0x9f0b0010, +0x048008ff, +0x413ff8f8, +0x1440000d, +0x9c038e10, +0x413ffaf9, 0x04a001dd, +0x413ffcfa, +0x16000001, +0x413ffefb, +0x04a00100, +0x9c100400, +0x9c100480, +0x9c1d06c4, +0x9f085030, +0x9c180674, +0x9c180650, +0x058001a0, +0x4aa03a20, +0x160000f7, +0x04800144, +0x04400744, +0x05800740, +0x0aa03740, +0x05800160, +0x0ac036e0, +0x9e090000, 0x07800000, -0x9d0c8318, 0x07800000, -0xa00602ba, -0x9c0c0018, -0x9f0b0010, -0x9d0c82b8, +0x9e0d0500, +0x9d040508, +0x0a0038e0, +0x9d040008, +0x9e090000, 0x07800000, -0x9d0c8318, -0x98802720, +0x9d040008, +0x9e0d0500, +0x0a0038e0, +0x9d040008, +0x9e090000, +0x160000f7, 0x07800000, -0xa00602ba, -0x9c0c0118, -0x16000015, -0x9d0c81b8, -0x9d0c82b8, -0x9f092010, -0x9f0920b0, -0x9c1d05c0, -0x9f0930c0, -0x9c1d0548, -0x9f093860, -0x06000006, -0x0aa028a0, -0x06000017, -0x0aa028a0, +0x9e0d0500, +0x1280017a, +0x048001a9, +0x05800940, +0x0aa038e0, +0x05800160, +0x00000ec8, +0x40000688, +0x160ffff9, +0x0ac03870, +0x05800810, +0x0ae038e0, +0x160ffff6, +0x160ffff7, +0x0a0038b0, +0x05800180, +0x0ae038e0, +0x16000016, +0x16000007, +0x9d044690, +0x04a00144, +0x9d180674, +0x05800160, +0x9d180654, +0x4ac03960, +0x160000f7, +0x0420047a, +0x04a001ab, +0x4a003990, +0x044007bb, +0x0480014b, +0x044007bb, +0x1440004a, +0x120001aa, +0x42000a38, +0x120001bb, +0x42000b39, +0x12000288, +0x12000299, +0x9e0e8280, +0xca003b30, +0x1e0e8390, +0xdd040604, +0x05800160, +0x0ac03ad0, +0x9d040008, +0x9e090000, 0x07800000, -0x9c0c0118, -0x9c0c01b0, -0x9f082010, -0x9f0820b0, -0x9c1d05c0, -0x9f0830c0, -0x9c1d0548, -0x9f083860, -0x06000006, -0x0aa02970, -0x06000017, -0x0aa02970, +0x060000f4, +0x9e0d0500, +0x0aa03b30, +0x9d040508, +0x0a003b30, +0x9e090000, +0x060000f4, +0x9d040008, +0x9e0d0500, +0x0a803b30, +0x9d040508, +0x060000f4, +0x0aa03db0, +0x9c1d0600, +0x9f065060, +0x9f020830, +0x9f095010, +0xdc1d0600, +0x160fffe9, +0x9f065060, +0x9f020c30, +0x0600000a, +0x0a803db0, +0x9f095010, +0x00800dcb, +0x16000028, +0x0600000a, +0x0aa03db0, +0x0600000b, +0x0a803d20, +0x0600000d, +0x0aa03db0, +0x9d044480, +0x9d044780, +0x9c100480, +0x9c100700, +0x9d044490, +0x9d044790, +0x9d044680, +0x9d108480, +0x9d108700, +0x0a003e30, +0x058000d0, +0x0aa03db0, +0x9d044490, +0x9c100700, +0x9d044790, +0x9d108480, +0x9d108700, +0x9d044480, +0x9d044780, +0x9c1d06c4, +0xdc1d0644, +0x1f0400b0, +0x9c100700, +0x9f040010, +0x9d108480, +0x07800000, +0x9d108700, +0x9c1d06c4, 0x07800000, +0x9f0940b0, +0x07800000, +0x00800cc9, +0x06000008, +0x0aa03fe0, +0xdc1d0684, +0x160000f5, +0xdc1d0604, +0x160fff8a, +0x04a00255, +0xdd108480, +0x16000017, +0xdd108700, +0x160ffff8, +0x05800540, +0x0aa03fa0, +0x05800160, +0x0ac03f90, +0x01000027, +0x0a003fa0, +0x01000028, +0x9e088000, +0xa0054dba, +0xa005c81a, +0x0a004070, +0x9e088000, +0xa0054dba, +0xa005c81a, +0x160fffaa, +0x9f1f80b0, +0x9f1e0010, +0x9f040020, +0x9f040070, +0x9f020810, +0x9d0446a0, +0x9e0f0070, +0x9d0c8118, +0x98803590, +0x003ffefb, +0x003ffcfa, +0x003ffaf9, +0x003ff8f8, +0x048ff8ff, 0x08200000, 0x9c0c0018, 0x1440001d, @@ -1477,7 +1854,7 @@ 0x9d0c8318, 0x9d0c81b8, 0x9d0c02b8, -0x988029d0, +0x98804160, 0x07800000, 0xa00602ba, 0x07800000, @@ -1502,7 +1879,7 @@ 0x07800000, 0x9d0c8318, 0x9d0c02b8, -0x98802b00, +0x98804290, 0x9c0c0018, 0xa00602ba, 0x07800000, @@ -1527,7 +1904,7 @@ 0x9d0c8298, 0x9d0c8338, 0x9d0c8198, -0x98802ce0, +0x98804470, 0x07800000, 0xa00602ba, 0xa006821a, @@ -1542,9 +1919,9 @@ 0xdd040008, 0x06000001, 0x04a00111, -0x0aa02e00, +0x0aa04590, 0x9d0c8118, -0x98802de0, +0x98804570, 0x08200000, 0x9c0c02b0, 0x9c0c0018, @@ -1554,15 +1931,18 @@ 0xdd0c81b8, 0x06000005, 0x04a00155, -0x0aa02ed0, -0x98802e90, +0x0aa04660, +0x98804620, 0x08200000, +0x9c039e30, +0x07800000, 0x9c0c0018, -0x9e0e0620, +0x9f138510, 0x1600004d, +0x07800000, 0x9d0c8318, 0x07800000, -0x9c0c0610, +0x9c0c0510, 0xa00602ba, 0x07800000, 0x9d0c8318, @@ -1570,13 +1950,14 @@ 0x9d0c02b8, 0x07800000, 0x9c0c0018, +0x9f138510, 0xa00602ba, 0x07800000, 0x9d0c8318, 0x9d0c81b8, 0x9d0c02b8, -0x98802f80, -0x9c0c0610, +0x98804740, +0x9c0c0510, 0xa00602ba, 0x07800000, 0x9d0c8318, @@ -1589,6 +1970,26 @@ 0x9d0c81b8, 0x9d0c82b8, 0x08200000, +0x9c0c0018, +0x1440001d, +0x04a001dd, +0x9d0c8218, +0x07800000, +0x9c0c0018, +0xa00582ba, +0x07800000, +0x07800000, +0x9d0c81b8, +0x98804960, +0x1440001d, +0x9d0c8218, +0x04a001dd, +0xa00582ba, +0x07800000, +0x07800000, +0x9d0c81b8, +0x988049e0, +0x08200000, 0x9f160028, 0x9f168298, 0x04a001dd, @@ -1597,22 +1998,35 @@ 0x07800000, 0x9f160028, 0x9f168298, -0x98803170, +0x98804a80, 0x9d0c8128, 0x08200000, 0x9f160020, 0x9f168098, +0x9c0c03b0, +0x9f092020, +0x9f082030, +0x9c0c03b0, +0x9f092060, +0x9f082070, +0x07800000, 0x07800000, 0x9d0c8108, 0x9d0c8258, -0x988031e0, +0x98804af0, 0x08200000, -0x9f160010, -0x9f168068, +0x9f160020, +0x9f168098, +0x9c0c02b0, +0x9f092020, +0x9f082030, +0x9c0c02b0, +0x9f092060, +0x9f082070, 0x07800000, 0x07800000, -0x9d0c8128, -0x98803250, +0x9d0c8118, +0x98804bd0, 0x08200000, 0x9d008810, 0x1280020d, @@ -1636,7 +2050,7 @@ 0x9d0c87b8, 0x9d1082c8, 0x9d108288, -0x98803320, +0x98804d00, 0x08200000, 0x00000003, 0x00000205, @@ -1649,22 +2063,22 @@ 0x07800000, 0x07800000, 0x9d0c8128, -0x988034a0, +0x98804e80, 0x08200000, 0x048002ff, 0x013ffefe, 0x00801605, -0x16002a63, +0x16012ac3, 0x12000155, 0x0200035e, 0x0b200000, 0x00800405, -0x16002a63, +0x16012ac3, 0x12000155, 0x0200035e, 0x0b200000, 0x00801705, -0x16002a63, +0x16012ac3, 0x12000155, 0x0200035e, 0x0b200000, @@ -1684,7 +2098,7 @@ 0xdc180404, 0x06000003, 0x9c180480, -0x0aa03ae0, +0x0aa054c0, 0x9c052b20, 0x9c042820, 0x9c023970, @@ -1693,38 +2107,38 @@ 0x40800503, 0x0600000d, 0x9d01b060, -0x4a803840, +0x4a805220, 0x0400033d, 0x04200427, 0x04200d77, 0x05800750, -0x0ae03840, +0x0ae05220, 0x16000006, 0x16000145, -0x0a003ac0, +0x0a0054a0, 0x160fffd6, 0x05800420, -0x0ae039c0, +0x0ae053a0, 0x160fffe6, 0x04000344, 0x05800420, -0x0ae03ab0, +0x0ae05490, 0x160ffff6, 0x04000344, 0x05800420, -0x0ae03ab0, +0x0ae05490, 0x16000006, 0x04000344, 0x05800420, -0x0ae03ab0, +0x0ae05490, 0x16000016, 0x04000344, 0x05800420, -0x0ae03ab0, +0x0ae05490, 0x16000026, 0x04000344, 0x05800420, -0x0ae03ab0, +0x0ae05490, 0x16000036, 0x013ffcf6, 0x12000132, @@ -1743,7 +2157,7 @@ 0x003ffcf6, 0x00800715, 0x01000606, -0x0a003ef0, +0x0a0058d0, 0x9c042b20, 0x9c052920, 0x9c023870, @@ -1755,43 +2169,43 @@ 0x160fffb6, 0x00800503, 0x05800420, -0x0ae03df0, +0x0ae057d0, 0x160fffc6, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x160fffd6, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x160fffe6, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x160ffff6, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000006, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000016, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000026, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000036, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000046, 0x04000344, 0x05800420, -0x0ae03ed0, +0x0ae058b0, 0x16000056, 0x013ffcf6, 0x12000232, @@ -1809,16 +2223,18 @@ 0x003ffcf6, 0x01000606, 0x00800715, -0x16002a66, +0x16012ac6, 0x413ffefe, 0x12000155, 0x00000202, 0x00800d04, 0x0200056e, -0x16013c06, -0x16013c47, +0x16020e05, +0x16014246, +0x16014287, 0x0400042d, 0x04a001dd, +0x9e0e0750, 0x9e0e0260, 0x9e0e0370, 0x0b200000, @@ -1832,7 +2248,7 @@ 0x06000005, 0x40800f02, 0x04c07f77, -0x4a804120, +0x4a805b20, 0x04500273, 0x00800a02, 0x9e088100, @@ -1868,7 +2284,7 @@ 0x07800000, 0x16000003, 0x9e0c8100, -0x1602dc06, +0x16007f46, 0x00000064, 0x1600003d, 0x04a00122, @@ -1883,8 +2299,8 @@ 0x9d0c810c, 0x9d0c815c, 0x9d0c81ac, -0x98804330, -0x0aa042b0, +0x98805d30, +0x0aa05cb0, 0x9e0f0120, 0x08200000, 0x4080070d, @@ -1896,42 +2312,42 @@ 0x413ffefe, 0x06000004, 0x9c03a950, -0x4aa044d0, +0x4aa05ed0, 0x144000d2, -0x0a204790, +0x0a206190, 0x40000e04, 0x1440002d, 0x06000004, -0x0a804610, +0x0a806010, 0x05800d40, -0x0ae04510, -0x0a204640, -0x0a0045c0, +0x0ae05f10, +0x0a206040, +0x0a005fc0, 0x042004d2, 0x1440004d, -0x0a204640, -0x0a204790, +0x0a206040, +0x0a206190, 0x06000002, -0x0a8045c0, +0x0a805fc0, 0x1440002d, 0x00000e04, 0x05800d40, -0x0ac04610, -0x0a204640, +0x0ac06010, +0x0a206040, 0x003ffefe, 0x40800905, 0x048ffeff, 0x9d03a950, 0x08200000, 0x04a0012d, -0x0a201690, -0x0a0045c0, -0x16013c06, +0x0a201a60, +0x0a005fc0, +0x16014246, 0x40800605, 0x048002ff, 0x413ffefe, 0x144000d3, -0x16002a6e, +0x16012ace, 0x9e0e0260, 0x12000155, 0x420005ee, @@ -1952,19 +2368,19 @@ 0x40000403, 0x04c001d7, 0x06000007, -0x4a804880, +0x4a806280, 0x16000017, 0x00001604, 0x06000004, -0x0a8049a0, +0x0a8063a0, 0x40001405, 0x048001dd, 0x01000e04, 0x01000c05, -0x0a0048f0, +0x0a0062f0, 0x00001204, 0x06000004, -0x0a8049a0, +0x0a8063a0, 0x40001005, 0x048001dd, 0x01000e04, @@ -1974,11 +2390,11 @@ 0x16000005, 0x40800a04, 0x05c00630, -0x0a804990, +0x0a806390, 0x12000233, 0x9e0e0530, 0x9d140550, -0x0a0049a0, +0x0a0063a0, 0x01800017, 0x08200000, 0x048008ff, @@ -1986,15 +2402,15 @@ 0x1440001d, 0x013ffaf9, 0x413ffcfa, -0x1602c909, +0x16006a49, 0x413ffefb, -0x1601fe02, +0x16015002, 0x00000095, 0x00000296, 0x9c018201, 0x01000025, 0x41400226, -0x16020603, +0x16002743, 0x04800122, 0x9e088200, 0x9e090300, @@ -2004,92 +2420,48 @@ 0x01c00127, 0x01c0012b, 0x9c018201, -0x98804aa0, +0x988064a0, 0x04800633, 0x1440001d, 0x00000034, 0x04802833, 0x01c00124, -0x98804b50, -0x1602e8ca, +0x98806550, 0x16002102, -0x408000a4, -0x1602ebcd, -0x408001a5, -0x16000007, 0x9e0e0220, -0x408002a8, 0x16000806, -0x408003a9, -0x12000155, -0x410000a7, -0x04500544, +0x16007eca, +0x16007f0b, 0x9d140270, -0x408000d5, -0x12000288, -0x410002a7, -0x04500844, -0x408001d8, -0x12000399, -0x408002d6, -0x04500944, -0x410000d7, -0x1602ec0a, -0x408003d9, -0x12000455, -0x410002d7, -0x04500544, -0x408000a5, -0x12000588, -0x408001a2, -0x04500844, -0x408002a8, -0x12000666, -0x410000a7, -0x04500644, -0x408003a6, -0x12000799, -0x410002a7, -0x04500944, -0x12000855, -0x04500544, -0x1602db8a, -0x1602dbcb, -0x12000922, -0x04500244, -0x12000a88, -0x04500844, -0x400000a8, -0x12000b66, -0x400000b9, -0x04500644, +0x000000a8, +0x000000b9, 0x04a00188, 0x04a00199, 0x16000005, 0x16000006, 0x06000008, -0x0aa04f50, +0x0aa06690, 0x16000015, 0x000002a8, 0x06000009, -0x0aa04f90, +0x0aa066d0, 0x16000016, 0x000002b9, -0x1602cf42, +0x16007082, 0x410000a8, 0x12000166, 0x410000b9, 0x04500655, 0x40800021, -0x1602c90d, +0x16006a4d, 0x41800027, 0x06000004, -0x0aa05080, +0x0aa067c0, 0x06000005, -0x0aa05100, +0x0aa06840, 0x06000001, -0x0aa05190, -0x0a005280, +0x0aa068d0, +0x0a0069c0, 0x160000a8, 0x400000d6, 0x12000c88, @@ -2097,7 +2469,7 @@ 0x07800000, 0x06000005, 0x9d180078, -0x0a805170, +0x0a8068b0, 0x160000c8, 0x400000d6, 0x12000c88, @@ -2106,7 +2478,7 @@ 0x07800000, 0x9d180078, 0x06000001, -0x0a805200, +0x0a806940, 0x160000d8, 0x400000d6, 0x12000c88, @@ -2115,21 +2487,21 @@ 0x07800000, 0x9d180078, 0x16000903, -0x16000fa9, +0x16000fb9, 0x16000016, 0x9e0e0530, 0x16000007, 0x9d03c890, 0x07800000, 0x9d140570, -0x1602c988, +0x16006ac8, 0x40000280, 0x16000013, 0x00000084, 0x06000000, 0x40000049, -0x1602c942, -0x4a805320, +0x16006a82, +0x4a806a60, 0x16000005, 0x04200959, 0x05800590, @@ -2139,7 +2511,7 @@ 0x17800363, 0x04800233, 0x01000023, -0x1601fe02, +0x16015002, 0x01004a23, 0x403ffefb, 0x16002202, @@ -2153,20 +2525,20 @@ 0x08200000, 0x048008ff, 0x413ff8f8, -0x1601fe02, +0x16015002, 0x013ffaf9, 0x013ffcfa, 0x413ffefb, 0x04803322, -0x1602e045, -0x16000dfd, +0x16008385, +0x16000e0d, 0x00000454, 0x00000856, 0x9c0768d0, 0x01c00124, 0x01c00126, 0x40000087, -0x16002b99, +0x16003129, 0x0000028d, 0x40000c54, 0x12000299, @@ -2175,7 +2547,7 @@ 0x0180012d, 0x9e0e0490, 0x41400224, -0x16002ba8, +0x16003138, 0x41400226, 0x12000288, 0x9c100480, @@ -2220,15 +2592,15 @@ 0x128002bb, 0x01c0012b, 0x04800222, -0x1602de45, -0x16000e1d, +0x16008185, +0x16000e2d, 0x00000454, 0x00000856, 0x9c0768d0, 0x01c00124, 0x01c00126, 0x40000087, -0x16002bb9, +0x16003149, 0x0000028d, 0x40000c54, 0x12000299, @@ -2237,7 +2609,7 @@ 0x0180012d, 0x9e0e0490, 0x41400224, -0x16002bc8, +0x16003158, 0x41400226, 0x12000288, 0x9c100480, @@ -2281,20 +2653,20 @@ 0x07800000, 0x06000033, 0x9e0e8220, -0x0aa05cd0, +0x0aa07410, 0x9c1d0004, 0x9c1d0044, 0x07800000, 0x9d0c0210, -0x0a005d80, +0x0a0074c0, 0x06000023, -0x0aa05d30, +0x0aa07470, 0x9c1d0004, 0x9d040004, 0x9d100200, -0x0a005d80, +0x0a0074c0, 0x06000043, -0x0aa05d80, +0x0aa074c0, 0x9c180024, 0x9d040004, 0x9d180200, @@ -2302,379 +2674,7 @@ 0x05c00740, 0x17800644, 0x01000004, -0x0a005bf0, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, +0x0a007330, 0x00000000, 0x00000000, 0x00000000, @@ -2906,14 +2906,14 @@ 0x00001001, 0x00001000, 0x00001000, -0x00001000, -0x00001000, -0x00001001, 0x00001001, 0x00001000, 0x00001001, 0x00001001, 0x00001001, +0x00000000, +0x00000000, +0x00001001, 0x00001001, 0x00001000, 0x00001001, @@ -2940,21 +2940,21 @@ 0x00001001, 0x00000001, 0x00001000, -0x00002e24, +0x00000858, 0x00001000, 0x00001001, 0x00000001, 0x00001000, -0x00002e24, +0x00000858, 0x00151000, -0x00002e24, -0x00002e24, +0x00000858, +0x00000858, 0x00151000, 0x00001000, 0x00001001, 0x00000001, 0x00001000, -0x00002e64, +0x00000898, 0x00001000, 0x00001001, 0x00001000, @@ -2971,26 +2971,26 @@ 0x00001000, 0x00001000, 0x00001000, -0x00001051, +0x00001061, 0x00001031, -0x00001051, +0x00001061, 0x00001021, -0x00001051, +0x00001061, 0x00001031, -0x00001051, +0x00001061, 0x00001021, -0x00001051, +0x00001061, 0x00001031, -0x00001051, +0x00001061, 0x00001021, -0x00001051, +0x00001061, 0x00001031, -0x00001051, +0x00001061, 0x00001021, -0x00001051, -0x00001031, -0x00001051, +0x00001061, 0x00001021, +0x00001061, +0x00001031, 0x00151000, 0x00001000, 0x00001000, @@ -3001,47 +3001,47 @@ 0x00000000, 0x00000000, 0x00001071, -0x00000000, +0x000000aa, 0x00001071, 0x00000000, -0x00001041, -0x00001001, -0x00000000, -0x00001000, -0x00001011, -0x00001001, -0x00000000, 0x00000000, 0x00000000, 0x00001000, -0x00001011, -0x00001001, -0x00000000, -0x00001041, -0x00001041, 0x00001000, +0x000000a6, +0x000000a8, 0x00001000, 0x00001000, -0x00001011, -0x00001001, 0x00001000, -0x00001011, -0x00001001, 0x00001000, -0x00001011, -0x00001001, 0x00000000, -0x00001000, -0x00001011, -0x00001001, 0x00000000, 0x00001000, -0x00001001, -0x00001001, -0x00001041, +0x003c1000, 0x00001000, -0x00001041, +0x003c1000, 0x00001001, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, 0x00001001, 0x00001000, 0x00001051, @@ -3055,11 +3055,12 @@ 0x00001001, 0x00001001, 0x00001001, +0x00001001, 0x0000fff9, 0x00001000, 0x00001000, 0x00000000, -0x00001000, +0x00001001, 0x00001091, 0x00001000, 0x00001000, @@ -3132,9 +3133,6 @@ 0x00000000, 0x00000000, 0x00000000, -0x00000000, -0x00000000, -0x00000000, 0x00001000, 0x00001001, 0x00000000, @@ -3144,8 +3142,8 @@ 0x00001001, 0x00000001, 0x00001000, -0x00002e24, -0x00002e24, +0x00000858, +0x00000858, 0x00001000, 0x00151000, 0x00151000, @@ -3156,8 +3154,99 @@ 0x00001001, 0x00000001, 0x00001000, -0x00002e24, -0x00002e24, +0x00000858, +0x00000858, +0x00000000, +0x00000000, +0x00001001, +0x00000000, +0x00000000, +0x00001000, +0x00000000, +0x00000000, +0x00001001, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, 0x00000000, 0x00000000, 0x00000000, @@ -3916,136 +4005,72 @@ 0x00000000, 0x00000000, 0x00000000, -0x000695c4, -0x007cdb3b, -0x000870d8, -0x000870d8, -0x007cdb3b, -0x000695c4, -0x004470ec, -0x00fa825a, -0x000c7322, -0x00f02316, -0x000b4d9e, -0x0013c14c, -0x0005da48, -0x00195288, -0x00195288, -0x0005da48, -0x0013c14c, -0x004470ec, -0x00fa825a, -0x000c7322, -0x00f02316, -0x000b4d9e, +0x004b54e7, +0x002866b7, +0x0002526c, +0x005d3e43, +0x0002526c, +0x002866b7, +0x004b54e7, +0x0090828c, +0x00097262, +0x00e8875a, +0x0021f9ea, +0x00e1aff2, +0x000feece, +0x000387fc, +0x0079341b, +0x0006f740, +0x00045eec, +0x0006f740, +0x0079341b, +0x000387fc, +0x0090828c, +0x00097262, +0x00e8875a, +0x0021f9ea, +0x00e1aff2, +0x000feece, 0x007de295, 0x00f821da, 0x007de295, 0x008431e5, 0x0007dde2, -0x000271f8, -0x00fb6e08, -0x0002d334, -0x0002d334, -0x00fb6e08, -0x000271f8, -0x00421c2d, -0x00f4e40e, -0x00188dd6, -0x00e410d6, -0x001066c6, -0x000eabd0, -0x00e49430, -0x0010f338, -0x0010f338, -0x00e49430, -0x000eabd0, -0x00421c2d, -0x00f4e40e, -0x00188dd6, -0x00e410d6, -0x001066c6, -0x008e3ba9, -0x000aaa6a, -0x00f5559a, -0x0071c459, -0x00651dd9, -0x00f5c6b6, -0x000b0ede, -0x00000003, -0x00000003, -0x0002c197, -0x0005832b, -0x0002c197, -0x00000003, -0x00000003, -0x0084a705, -0x0007da1a, -0x00000003, -0x000430ab, -0x007ff7a1, -0x00000003, -0x000430ab, -0x007ff7a1, -0x00000003, -0x00000003, -0x0002c197, -0x0005832b, -0x0002c197, -0x00000003, -0x00000003, -0x0084a705, -0x0007da1a, -0x00000003, -0x00000003, -0x0002c197, -0x0005832b, -0x0002c197, -0x00000003, -0x00000003, -0x0084a705, -0x0007da1a, -0x00000003, -0x000430ab, -0x007ff7a1, -0x00000003, -0x000430ab, -0x007ff7a1, -0x00000003, -0x000430ab, -0x007ff7a1, -0x00000003, -0x000430ab, -0x007ff7a1, +0x0012f747, +0x00c81d03, +0x005f165b, +0x0094600b, +0x005f165b, +0x00c81d03, +0x0012f747, +0x00aa0ab1, +0x001057be, +0x00d5b832, +0x003b8bf6, +0x00cfd2ca, +0x00154066, +0x0071cb9f, +0x00fac2b8, +0x0008ea18, +0x00f5e900, +0x0008ea18, +0x00fac2b8, +0x0071cb9f, +0x00aa0ab1, +0x001057be, +0x00d5b832, +0x003b8bf6, +0x00cfd2ca, +0x00154066, +0x0084edbd, +0x007b1245, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00762489, 0x00000020, 0x003fffe0, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00040002, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00040002, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00000000, -0x00040002, -0x00000000, -0x00000000, -0x00000000, -0x00000000, 0x00269ec3, 0x000d0ff4, 0x00051eba, @@ -4114,8 +4139,8 @@ 0x0033fbe6, 0x00dd3502, 0x000fea26, -0x003c0001, -0x00080002, +0x00400000, +0x00100002, 0x007f0001, 0x00040002, 0x00040002, @@ -4123,8 +4148,468 @@ 0x003fffe0, 0x00000020, 0x003fffe0, +0x0000e95b, +0x00045e13, +0x00e38bd3, +0x0049a0eb, +0x0086a523, +0x00021a60, +0x00b3b22b, +0x00c008cb, +0x0003ee58, +0x00f98190, +0x0007bebc, +0x00f927cc, +0x000369f8, +0x000210a0, +0x00f7d700, +0x000cf630, +0x00f0b350, +0x000f00d8, +0x00f45884, +0x0004930c, +0x000cca50, +0x00d5b1a0, +0x0036ee50, +0x00c50200, +0x00c1a4a3, +0x005fc0f5, +0x004f99c8, +0x00026924, +0x00ff83fb, +0x0008de8b, +0x00de91f3, +0x0044c043, +0x00a56883, +0x0040eb8b, +0x001e74a3, +0x00fd21b0, +0x000554e4, +0x00f94c68, +0x000647f4, +0x00fc5390, +0x00c48fa3, +0x00067e44, +0x00f4b078, +0x000daa00, +0x00f31630, +0x00095c18, +0x00fd153c, +0x00f92d4c, +0x00187260, +0x00d118b0, +0x002e0ce0, +0x00dfc588, +0x00d88710, +0x005ade01, +0x0069ab18, +0x000581a8, +0x00ff0f2b, +0x000a2003, +0x00e0f9b3, +0x00341ca3, +0x00d0769b, +0x00f72c73, +0x0079f1eb, +0x00fbed28, +0x0005aab8, +0x00fa5660, +0x0003b918, +0x00028fb3, +0x00fb129c, +0x00098f30, +0x00f3bff8, +0x000bc1d8, +0x00f7e048, +0x000228e8, +0x0005dda0, +0x00f00dc0, +0x001eb940, +0x00d459f0, +0x001db068, +0x00fcb1e0, +0x00bb70e0, +0x00500125, +0x00423c25, +0x000cb760, +0x00ff3a63, +0x0008dcf3, +0x00e89f33, +0x001cf00b, +0x00fdff03, +0x00b7a13b, +0x0002d9ac, +0x00fb9038, +0x0004ee8c, +0x00fc6088, +0x0025bba3, +0x000396e8, +0x00f82434, +0x000abf70, +0x00f51e3c, +0x0007b174, +0x0083c45b, +0x00fadcd0, +0x000d0158, +0x00eaba28, +0x001ef828, +0x00de61d8, +0x00091358, +0x00172bd8, +0x00aaa5f8, +0x007f9968, +0x004ead35, +0x0016d358, +0x00ff9df3, +0x00063423, +0x00f2bc93, +0x0004db3b, +0x002510d3, +0x008d0163, +0x00032dec, +0x00fc0c14, +0x00035394, +0x00bfd6bb, +0x00fd7bc4, +0x000653e0, +0x00f6c644, +0x0009e92c, +0x00f874d4, +0x00025014, +0x000466f8, +0x00f4e050, +0x00113910, +0x00e9e9d8, +0x0019a460, +0x00ed06b8, +0x00f3f088, +0x002b3ea8, +0x00a75d50, +0x00573b88, +0x0058acdd, +0x00253e48, +0x00ffe99b, +0x00034623, +0x00fca67b, +0x00f0ade3, +0x003f433b, +0x00fdf30c, +0x0002e438, +0x00fd3880, +0x004d26e3, +0x006be023, +0x00fafa08, +0x0007c8c0, +0x00f72900, +0x000747f8, +0x00fd12b4, +0x00fcac44, +0x0009b130, +0x00f14b30, +0x0011de10, +0x00ed7168, +0x00102888, +0x00fd78fc, +0x00e1dd38, +0x003632e8, +0x00b0f308, +0x002ad4a0, +0x005ec5d9, +0x00385800, +0x00fed5c7, +0x0001d26f, +0x00fa588b, +0x000daca7, +0x00e3d6d3, +0x00339bc7, +0x00a97e63, +0x00021db8, +0x00fcd778, +0x00049f28, +0x00f8fde8, +0x000d23e8, +0x007d7e59, +0x00f89bb0, +0x000259b4, +0x00d1846b, +0x0003ff83, +0x000bf0f7, +0x00f0e3cf, +0x000ca4f7, +0x00f77a0b, +0x0004c883, +0x00fdcf83, +0x0000c0c7, +0x00ff662f, +0x0002ff27, +0x00f6afb3, +0x0016defb, +0x00cfc55f, +0x005b288f, +0x00fd84f0, +0x000411f4, +0x00f99078, +0x000a2044, +0x00ef1978, +0x0024d648, +0x007aa5a5, +0x00e7c3e8, +0x000aa4ec, +0x00fa6a80, +0x000304e0, +0x009a1a6f, +0x0032b7db, +0x00e8d6d7, +0x000963f3, +0x00fcc6cf, +0x0000dc7b, +0x00ffda2f, +0x00ff1ed3, +0x0004309f, +0x00f31b9b, +0x001faed3, +0x00bcc34f, +0x00020190, +0x00fc755c, +0x0005e8c8, +0x00f675cc, +0x000f6978, +0x00e54b98, +0x003efe58, +0x007512ad, +0x00daf028, +0x001174bc, +0x00f652f4, +0x000589a8, +0x00fce2b4, +0x006b13b7, +0x00ca4a77, +0x00188ddf, +0x00f61837, +0x000357df, +0x00ff2823, +0x00fed6b7, +0x00054b13, +0x00efed7f, +0x0027599b, +0x00ac68e3, +0x00028110, +0x00fb8cf0, +0x00077d74, +0x00f3c420, +0x00141628, +0x00dc4340, +0x005ac084, +0x006d00dd, +0x00d23fd0, +0x00167f08, +0x00f33398, +0x00077ccc, +0x00fbb300, +0x00025c40, +0x00b2862b, +0x0024406f, +0x00f10627, +0x00052b3f, +0x00feadf3, +0x00fe9647, +0x00062edf, +0x00ed7c03, +0x002d1867, +0x00a04bef, +0x0002df40, +0x00fae088, +0x0008acc0, +0x00f1b5e8, +0x0017c370, +0x00d4b638, +0x0077237c, +0x0062c57d, +0x00cd9f14, +0x00199c28, +0x00f12c50, +0x0008c91c, +0x00fae638, +0x0002d380, +0x00a270f7, +0x002c1793, +0x00edb29f, +0x00065057, +0x00fe69af, +0x00fe678b, +0x0006badb, +0x00ec1c5f, +0x00302fa7, +0x0099df87, +0x00031180, +0x00fa8294, +0x000957b0, +0x00f07efc, +0x001a1714, +0x00cf5714, +0x00498dbd, +0x0056cb65, +0x00cccae8, +0x001ac64c, +0x00f04854, +0x0009661c, +0x00fa8180, +0x00030f60, +0x009a52c3, +0x00300017, +0x00ec1ad7, +0x0006cf1f, +0x00fe552f, +0x00fe552f, +0x0006cf1f, +0x00ec1ad7, +0x00300017, +0x009a52c3, +0x00030f60, +0x00fa8180, +0x0009661c, +0x00f04854, +0x001ac64c, +0x00cccae8, +0x0056cb65, +0x00498dbd, +0x00cf5714, +0x001a1714, +0x00f07efc, +0x000957b0, +0x00fa8294, +0x00031180, +0x0099df87, +0x00302fa7, +0x00ec1c5f, +0x0006badb, +0x00fe678b, +0x00fe69af, +0x00065057, +0x00edb29f, +0x002c1793, +0x00a270f7, +0x0002d380, +0x00fae638, +0x0008c91c, +0x00f12c50, +0x00199c28, +0x00cd9f14, +0x0062c57d, +0x0077237c, +0x00d4b638, +0x0017c370, +0x00f1b5e8, +0x0008acc0, +0x00fae088, +0x0002df40, +0x00a04bef, +0x002d1867, +0x00ed7c03, +0x00062edf, +0x00fe9647, +0x00feadf3, +0x00052b3f, +0x00f10627, +0x0024406f, +0x00b2862b, +0x00025c40, +0x00fbb300, +0x00077ccc, +0x00f33398, +0x00167f08, +0x00d23fd0, +0x006d00dd, +0x005ac084, +0x00dc4340, +0x00141628, +0x00f3c420, +0x00077d74, +0x00fb8cf0, +0x00028110, +0x00ac68e3, +0x0027599b, +0x00efed7f, +0x00054b13, +0x00fed6b7, +0x00ff2823, +0x000357df, +0x00f61837, +0x00188ddf, +0x00ca4a77, +0x006b13b7, +0x00fce2b4, +0x000589a8, +0x00f652f4, +0x001174bc, +0x00daf028, +0x007512ad, +0x003efe58, +0x00e54b98, +0x000f6978, +0x00f675cc, +0x0005e8c8, +0x00fc755c, +0x00020190, +0x00bcc34f, +0x001faed3, +0x00f31b9b, +0x0004309f, +0x00ff1ed3, +0x00ffda2f, +0x0000dc7b, +0x00fcc6cf, +0x000963f3, +0x00e8d6d7, +0x0032b7db, +0x009a1a6f, +0x000304e0, +0x00fa6a80, +0x000aa4ec, +0x00e7c3e8, +0x007aa5a5, +0x0024d648, +0x00ef1978, +0x000a2044, +0x00f99078, +0x000411f4, +0x00fd84f0, +0x005b288f, +0x00cfc55f, +0x0016defb, +0x00f6afb3, +0x0002ff27, +0x00ff662f, +0x0000c0c7, +0x00fdcf83, +0x0004c883, +0x00f77a0b, +0x000ca4f7, +0x00f0e3cf, +0x000bf0f7, +0x0003ff83, +0x00d1846b, +0x000259b4, +0x00f89bb0, +0x007d7e59, +0x000d23e8, +0x00f8fde8, +0x00049f28, +0x00fcd778, +0x00021db8, +0x00a97e63, +0x00339bc7, +0x00e3d6d3, +0x000daca7, +0x00fa588b, +0x0001d26f, +0x00fed5c7, 0x00000000, +0x00040002, 0x00000000, +0x00040002, +0x00020002, +0x00f80002, 0x00000000, 0x00000000, 0x00000000, @@ -4279,32 +4764,9 @@ 0x00000000, 0x00000000, 0x00000000, -0x00009110, -0x03130298, -0x02DE031E, -0x004302E8, -0x0325003A, -0x032C0344, -0x043D02C9, -0x049B0351, -0x018100CA, -0x026C01AD, -0x00B402AB, -0x01BE01CC, -0x054505BB, -0x000202F3, -0x00DE00D8, -0x00EF00E8, -0x010600F9, -0x0124010D, -0x0114011C, -0x0146012B, -0x0003015D, -0x017F017E, -0x041C0180, -0x01690366, 0x00000000, 0x00000000, +0x00009460, 0x00000000, 0x00000000, 0x00000000, @@ -4568,10 +5030,14 @@ 0x00000000, 0x00000000, 0x00000000, +0x00000010, 0x00000000, 0x00000000, +0x000004fc, 0x00000000, 0x00000000, +0x00000018, +0x000004f4, 0x00000000, 0x00000000, 0x00000000, @@ -4595,10 +5061,16 @@ 0x00000000, 0x00000000, 0x00000000, +0x00a0000c, +0x003c00a1, 0x00000000, 0x00000000, +0x000005ba, +0x00a2000c, +0x003c00a3, 0x00000000, 0x00000000, +0x000005ba, 0x00000000, 0x00000000, 0x00000000, @@ -4644,6 +5116,9 @@ 0x00000000, 0x00000000, 0x00000000, +0x0000000a, +0x7fff7fff, +0x7fff7fff, 0x00000000, 0x00000000, 0x00000000, @@ -4653,18 +5128,48 @@ 0x00000000, 0x00000000, 0x00000000, +0x00000004, +0x00000001, 0x00000000, 0x00000000, 0x00000000, +0x003ffff0, 0x00000000, +0x00400000, +0x00000004, +0x00000001, 0x00000000, 0x00000000, 0x00000000, +0x003ffff0, 0x00000000, +0x00400000, +0x01f501e2, +0x021b0208, +0x0241022e, +0x02670254, +0x028d027a, +0x02b302a0, +0x02d902c6, +0x02ff02ec, +0x00000004, +0x00000001, 0x00000000, 0x00000000, 0x00000000, +0x003ffff0, 0x00000000, +0x00400000, +0x03280316, +0x034c033a, +0x0370035e, +0x03940382, +0x03b803a6, +0x03dc03ca, +0x040003ee, +0x04240412, +0x00001400, +0x000000ff, 0x00000000, 0x00000000, 0x00000000, @@ -4686,125 +5191,557 @@ 0x00000000, 0x00000000, 0x00000000, +0x0aa40c24, +0x00000c34, +0x0a940c04, +0x00000c14, +0x0e640bb4, +0x00000ba4, +0x0e540b94, +0x00000b84, +0x0a840be4, +0x00000bf4, +0x0a740bc4, +0x00000bd4, +0x0e440b34, +0x00000b24, +0x0e340b14, +0x00000b04, +0x0a640b64, +0x00000b74, +0x0a540b44, +0x00000b54, +0x00000004, +0x00000001, 0x00000000, 0x00000000, 0x00000000, +0x003ffff0, 0x00000000, +0x00400000, +0x00000004, +0x00000001, 0x00000000, 0x00000000, 0x00000000, +0x003ffff0, 0x00000000, +0x00400000, +0x0a740bc4, +0x000010f4, +0x0a840be4, +0x00001104, +0x11340b14, 0x00000000, +0x0e540b94, 0x00000000, +0x00560014, +0x00570003, +0x005a0058, +0x00000013, +0x00560014, +0x00570006, +0x00610058, +0x00000013, +0x00560019, +0x00570003, +0x005a0058, +0x033c0013, +0x00560019, +0x00570006, +0x00610058, +0x033c0013, +0x00640014, +0x0065010d, +0x00680066, +0x00000012, +0x005b0015, +0x005c0002, +0x005f005d, +0x00000013, +0x005b0015, +0x005c0005, +0x0062005d, +0x00000013, +0x005b001a, +0x005c0002, +0x005f005d, +0x038c0013, +0x005b001a, +0x005c0005, +0x0062005d, +0x038c0013, +0x01050003, +0x0001008e, +0x00900001, 0x00000000, +0x01060003, +0x0001008f, +0x00910001, 0x00000000, +0x01070003, +0x00010129, +0x00900001, 0x00000000, +0x01070003, +0x0001012a, +0x00910001, 0x00000000, +0x004d0003, +0x0001008e, +0x00900001, 0x00000000, +0x004d0003, +0x0001008f, +0x00910001, 0x00000000, +0x0032000b, +0x00710030, +0x004e0072, 0x00000000, +0x00010013, +0x00010001, +0x01100001, 0x00000000, +0x00010013, +0x00010001, +0x01110001, 0x00000000, +0x000d000a, +0x000f000e, +0x00110010, 0x00000000, +0x00280000, +0x002b002a, +0x002d002c, 0x00000000, +0x00240000, +0x00790024, +0x00920074, 0x00000000, +0x00030000, +0x007a0003, +0x00930075, 0x00000000, +0x00240000, +0x007b0024, +0x00940077, 0x00000000, +0x00060000, +0x007c0006, +0x00950078, 0x00000000, +0x00290000, +0x007d0105, +0x00920073, 0x00000000, +0x008e0000, +0x007e0060, +0x00930075, 0x00000000, +0x00290000, +0x007f0106, +0x00940076, 0x00000000, +0x008f0000, +0x00800063, +0x00950078, 0x00000000, +0x01080000, +0x00810108, +0x00920074, 0x00000000, +0x010b0000, +0x0082010b, +0x00930075, 0x00000000, +0x01080000, +0x00830108, +0x00940077, 0x00000000, +0x010c0000, +0x0084010c, +0x00950078, 0x00000000, +0x00310000, +0x00850107, +0x00920073, 0x00000000, +0x01290000, +0x00860109, +0x00930075, 0x00000000, +0x00310000, +0x00870107, +0x00940076, 0x00000000, +0x012a0000, +0x0088010a, +0x00950078, 0x00000000, +0x00270000, +0x008b004d, +0x00920073, 0x00000000, +0x008e0000, +0x008c008d, +0x00930075, 0x00000000, +0x00270000, +0x0089004d, +0x00940076, 0x00000000, +0x008f0000, +0x008a008d, +0x00950078, 0x00000000, +0x00310000, +0x006f002f, +0x004e0070, 0x00000000, +0x00300018, +0x00980051, +0x009700d0, 0x00000000, +0x002f0018, +0x00960050, +0x009700d2, 0x00000000, +0x002e0008, +0x003c0031, +0x00000017, 0x00000000, +0x00220008, +0x003c0032, +0x00000018, 0x00000000, +0x0137000c, +0x00010001, +0x01380001, 0x00000000, +0x0001000d, +0x00010001, +0x00db0001, 0x00000000, +0x0001000d, +0x00010001, +0x00dc0001, 0x00000000, +0x0001000d, +0x00010001, +0x00dd0001, 0x00000000, +0x0001000d, +0x00010001, +0x00de0001, 0x00000000, +0x0001000d, +0x00010001, +0x00df0001, 0x00000000, +0x0001000d, +0x00010001, +0x00e00001, 0x00000000, +0x0001000d, +0x00010001, +0x00e10001, 0x00000000, +0x0001000d, +0x00010001, +0x00e20001, 0x00000000, +0x0001000d, +0x00010001, +0x00e30001, 0x00000000, +0x0001000d, +0x00010001, +0x00e40001, 0x00000000, +0x0001000d, +0x00010001, +0x00e50001, 0x00000000, +0x0001000d, +0x00010001, +0x00e60001, 0x00000000, +0x0001000d, +0x00010001, +0x00e70001, 0x00000000, +0x0001000d, +0x00010001, +0x00e80001, 0x00000000, +0x00fb000e, +0x00010001, +0x00fc0001, 0x00000000, +0x002f0005, +0x001c0027, +0x00000030, 0x00000000, +0x002a0005, +0x001d002e, +0x00000021, 0x00000000, +0x00080006, +0x00260021, +0x0000001a, 0x00000000, +0x00080006, +0x00260022, +0x0000001b, 0x00000000, +0x00080007, +0x00260021, +0x0000001a, 0x00000000, +0x00080007, +0x00260022, +0x0000001b, 0x00000000, +0x00080006, +0x006a0069, +0x0000001e, 0x00000000, +0x00080006, +0x006a0029, +0x0000001f, 0x00000000, +0x00080007, +0x006a0029, +0x0000001f, 0x00000000, +0x00c10001, +0x00ca0052, +0x0000011e, 0x00000000, +0x00030004, +0x000c0024, +0x00900001, 0x00000000, +0x00060004, +0x000c0024, +0x00910001, 0x00000000, +0x010b0004, +0x000c0108, +0x00900001, 0x00000000, +0x010c0004, +0x000c0108, +0x00910001, 0x00000000, +0x00300004, +0x00fe0051, +0x00fd0001, 0x00000000, +0x002f0004, +0x00fe0050, +0x00fd0001, 0x00000000, +0x00410002, +0x00430042, +0x00000016, 0x00000000, +0x00330002, +0x00350034, +0x00000013, 0x00000000, +0x00360002, +0x00380037, +0x00000014, 0x00000000, +0x00390002, +0x003b003a, +0x00000015, 0x00000000, +0x00690002, +0x006c006b, +0x00000019, 0x00000000, +0x01080002, +0x0040003f, +0x00000020, 0x00000000, +0x00080002, +0x00470046, +0x00000019, 0x00000000, +0x00cf0002, +0x00c900c0, +0x00000019, 0x00000000, +0x010d0002, +0x010f010e, +0x00000019, 0x00000000, +0x00270002, +0x00450044, +0x00000019, 0x00000000, +0x00010002, +0x00010001, +0x00000019, 0x00000000, +0x00010009, +0x00010028, +0x00530001, 0x00000000, +0x00010009, +0x00010023, +0x00540001, 0x00000000, +0x00c00011, +0x00c200c1, +0x00c700c3, 0x00000000, +0x00c80010, +0x00cb00ca, +0x00ce00cc, 0x00000000, +0x00010013, +0x00010001, +0x01120001, 0x00000000, +0x00010013, +0x00010001, +0x01130001, 0x00000000, +0x00010013, +0x00010001, +0x01140001, 0x00000000, +0x00010013, +0x00010001, +0x01150001, 0x00000000, +0x00010013, +0x00010001, +0x01160001, 0x00000000, +0x00010013, +0x00010001, +0x01170001, 0x00000000, +0x00010013, +0x00010001, +0x01180001, 0x00000000, +0x00010013, +0x00010001, +0x01190001, 0x00000000, +0x0001000f, +0x00010001, +0x00010001, 0x00000000, +0x00490012, +0x00d30041, +0x00d600d4, 0x00000000, +0x004a0012, +0x00d80033, +0x00d700d5, 0x00000000, +0x004b0012, +0x00d90036, +0x00d700d5, 0x00000000, +0x004c0012, +0x00da0039, +0x00d700d5, 0x00000000, +0x011b0016, +0x011c0001, +0x011d0001, 0x00000000, +0x00010017, +0x00010001, +0x00000001, 0x00000000, +0x011f0014, +0x0121010b, +0x01240122, +0x00000013, +0x011f0014, +0x0121010c, +0x01250122, +0x00000013, +0x011f0019, +0x0121010b, +0x01240122, +0x04040013, +0x011f0019, +0x0121010c, +0x01250122, +0x04040013, +0x01260015, +0x012d012b, +0x0130012e, +0x00000013, +0x01260015, +0x012d012c, +0x0131012e, +0x00000013, +0x0126001a, +0x012d012b, +0x0130012e, +0x02c40013, +0x0126001a, +0x012d012c, +0x0131012e, +0x02c40013, +0x01290000, +0x00860127, +0x00930075, 0x00000000, +0x012a0000, +0x00880128, +0x00950078, 0x00000000, +0x00010013, +0x00010001, +0x01320001, 0x00000000, +0x00010013, +0x00010001, +0x01330001, 0x00000000, +0x0003001b, +0x01340024, +0x01350001, 0x00000000, +0x00010013, +0x00010001, +0x01360001, 0x00000000, +0x010b001b, +0x013a0108, +0x01350001, 0x00000000, +0x00010013, +0x00010001, +0x01390001, 0x00000000, +0x00a7001c, +0x00a60008, +0x009e009c, 0x00000000, +0x00a9001c, +0x00a80025, +0x009f009d, 0x00000000, +0x00a7001d, +0x00a60008, +0x009e009c, 0x00000000, +0x00a9001d, +0x00a80025, +0x009f009d, 0x00000000, 0x00000000, 0x00000000, @@ -4852,6 +5789,33 @@ 0x00000000, 0x00000000, 0x00000000, +0x00003000, +0x04a40411, +0x045704af, +0x00620461, +0x004d0038, +0x04e204bd, +0x044204ca, +0x04ef05dd, +0x00e7063b, +0x01ea01be, +0x00d10424, +0x028402a2, +0x06b9072f, +0x02ae046c, +0x04900292, +0x01fb0223, +0x00f50002, +0x010f0101, +0x0127011b, +0x013a0133, +0x01490151, +0x01580141, +0x019a0173, +0x01bb0003, +0x01bd01bc, +0x050405bc, +0x000001a6, 0x00000000, 0x00000000, 0x00000000, @@ -5262,6 +6226,10 @@ 0x00000000, 0x00000000, 0x00000000, +0x00001580, +0x00001580, +0x00001580, +0x0000193f, 0x00000000, 0x00000000, 0x00000000, @@ -6457,505 +7425,121 @@ 0x00000000, 0x00000000, 0x00000000, -0x00B90011, -0x009E009D, -0x00A0009F, 0x00000000, -0x002F0011, -0x00A400A3, -0x00A600A5, 0x00000000, -0x00BA0011, -0x00AC00AB, -0x00A100AD, 0x00000000, -0x00BA0011, -0x00B200B1, -0x00B400B3, 0x00000000, -0x00BB0011, -0x00AF00AE, -0x00A200B0, 0x00000000, -0x00BB0011, -0x00B600B5, -0x00B800B7, 0x00000000, -0x00560014, -0x00570003, -0x005A0058, -0x00000013, -0x00560014, -0x00570006, -0x00610058, -0x00000013, -0x00640014, -0x0065010C, -0x00680066, -0x00000012, -0x005B0015, -0x005C0002, -0x005F005D, -0x00000013, -0x005B0015, -0x005C0005, -0x0062005D, -0x00000013, -0x01040003, -0x0001008E, -0x00900001, 0x00000000, -0x01050003, -0x0001008F, -0x00910001, 0x00000000, -0x01060003, -0x0001012B, -0x00900001, 0x00000000, -0x01060003, -0x0001012C, -0x00910001, 0x00000000, -0x004D0003, -0x0001008E, -0x00900001, 0x00000000, -0x004D0003, -0x0001008F, -0x00910001, 0x00000000, -0x0032000A, -0x00710030, -0x004E0072, 0x00000000, -0x00BA0000, -0x00A700BA, -0x009C00A9, 0x00000000, -0x00BB0000, -0x00A800BB, -0x009C00AA, 0x00000000, -0x0030000A, -0x00BE0030, -0x009C00BF, 0x00000000, -0x00010013, -0x00010001, -0x010F0001, 0x00000000, -0x00010013, -0x00010001, -0x01100001, 0x00000000, -0x000D0009, -0x000F000E, -0x00110010, 0x00000000, -0x00280000, -0x002B002A, -0x002D002C, 0x00000000, -0x00240000, -0x00790024, -0x00920074, 0x00000000, -0x00030000, -0x007A0003, -0x00930075, 0x00000000, -0x00240000, -0x007B0024, -0x00940077, 0x00000000, -0x00060000, -0x007C0006, -0x00950078, 0x00000000, -0x00290000, -0x007D0104, -0x00920073, 0x00000000, -0x008E0000, -0x007E0060, -0x00930075, 0x00000000, -0x00290000, -0x007F0105, -0x00940076, 0x00000000, -0x008F0000, -0x00800063, -0x00950078, 0x00000000, -0x01070000, -0x00810107, -0x00920074, 0x00000000, -0x010A0000, -0x0082010A, -0x00930075, 0x00000000, -0x01070000, -0x00830107, -0x00940077, 0x00000000, -0x010B0000, -0x0084010B, -0x00950078, 0x00000000, -0x00310000, -0x00850106, -0x00920073, 0x00000000, -0x012B0000, -0x00860108, -0x00930075, 0x00000000, -0x00310000, -0x00870106, -0x00940076, 0x00000000, -0x012C0000, -0x00880109, -0x00950078, 0x00000000, -0x00270000, -0x008B004D, -0x00920073, 0x00000000, -0x008E0000, -0x008C008D, -0x00930075, 0x00000000, -0x00270000, -0x0089004D, -0x00940076, 0x00000000, -0x008F0000, -0x008A008D, -0x00950078, 0x00000000, -0x00310000, -0x006F002F, -0x004E0070, 0x00000000, -0x002F0000, -0x009A00B9, -0x009C009B, 0x00000000, -0x002F0000, -0x00BC002F, -0x009C00BD, 0x00000000, -0x00300018, -0x00980051, -0x009700D1, 0x00000000, -0x002F0018, -0x00960050, -0x009700D1, 0x00000000, -0x002E0007, -0x00010031, -0x00000017, 0x00000000, -0x00220007, -0x00010032, -0x00000018, 0x00000000, -0x00CF000B, -0x00010001, -0x00D00001, 0x00000000, -0x0001000C, -0x00010001, -0x00DA0001, 0x00000000, -0x0001000C, -0x00010001, -0x00DB0001, 0x00000000, -0x0001000C, -0x00010001, -0x00DC0001, 0x00000000, -0x0001000C, -0x00010001, -0x00DD0001, 0x00000000, -0x0001000C, -0x00010001, -0x00DE0001, 0x00000000, -0x0001000C, -0x00010001, -0x00DF0001, 0x00000000, -0x0001000C, -0x00010001, -0x00E00001, 0x00000000, -0x0001000C, -0x00010001, -0x00E10001, 0x00000000, -0x0001000C, -0x00010001, -0x00E20001, 0x00000000, -0x0001000C, -0x00010001, -0x00E30001, 0x00000000, -0x0001000C, -0x00010001, -0x00E40001, 0x00000000, -0x0001000C, -0x00010001, -0x00E50001, 0x00000000, -0x0001000C, -0x00010001, -0x00E60001, 0x00000000, -0x0001000C, -0x00010001, -0x00E70001, 0x00000000, -0x0001000C, -0x00010001, -0x00E80001, 0x00000000, -0x0001000C, -0x00010001, -0x00E90001, 0x00000000, -0x00FA000D, -0x00010001, -0x00FB0001, 0x00000000, -0x002F0005, -0x001C0027, -0x00000030, 0x00000000, -0x002A0005, -0x001D002E, -0x00000021, 0x00000000, -0x00080006, -0x00260021, -0x0000001A, 0x00000000, -0x00080006, -0x00260022, -0x0000001B, 0x00000000, -0x00080006, -0x006A0069, -0x0000001E, 0x00000000, -0x00080006, -0x006A0029, -0x0000001F, 0x00000000, -0x00C10001, -0x00C90052, -0x00000120, 0x00000000, -0x00030004, -0x000C0024, -0x00900001, 0x00000000, -0x00060004, -0x000C0024, -0x00910001, 0x00000000, -0x010A0004, -0x000C0107, -0x00900001, 0x00000000, -0x010B0004, -0x000C0107, -0x00910001, 0x00000000, -0x00300004, -0x00FD0051, -0x00FC0001, 0x00000000, -0x002F0004, -0x00FD0050, -0x00FC0001, 0x00000000, -0x00410002, -0x00430042, -0x00000016, 0x00000000, -0x00330002, -0x00350034, -0x00000013, 0x00000000, -0x00360002, -0x00380037, -0x00000014, 0x00000000, -0x00390002, -0x003B003A, -0x00000015, 0x00000000, -0x00690002, -0x006C006B, -0x00000019, 0x00000000, -0x01070002, -0x0040003F, -0x00000020, 0x00000000, -0x00080002, -0x00470046, -0x00000019, 0x00000000, -0x00300002, -0x00BB00BA, -0x00000019, 0x00000000, -0x00CE0002, -0x00C800C0, -0x00000019, 0x00000000, -0x010C0002, -0x010E010D, -0x00000019, 0x00000000, -0x00270002, -0x00450044, -0x00000019, 0x00000000, -0x003C0002, -0x003E003D, -0x00000019, 0x00000000, -0x00010008, -0x00010028, -0x00530001, 0x00000000, -0x00010008, -0x00010023, -0x00540001, 0x00000000, -0x00C00010, -0x00C200C1, -0x00C700C3, 0x00000000, -0x00C8000F, -0x00CA00C9, -0x00CD00CB, 0x00000000, -0x00010013, -0x00010001, -0x01110001, 0x00000000, -0x00010013, -0x00010001, -0x01120001, 0x00000000, -0x00010013, -0x00010001, -0x01130001, 0x00000000, -0x00010013, -0x00010001, -0x01140001, 0x00000000, -0x00010013, -0x00010001, -0x01150001, 0x00000000, -0x00010013, -0x00010001, -0x01160001, 0x00000000, -0x00010013, -0x00010001, -0x01170001, 0x00000000, -0x00010013, -0x00010001, -0x01180001, 0x00000000, -0x0001000E, -0x00010001, -0x00010001, 0x00000000, -0x00010013, -0x00010001, -0x01190001, 0x00000000, -0x00010013, -0x00010001, -0x011A0001, 0x00000000, -0x00010013, -0x00010001, -0x011B0001, 0x00000000, -0x00490012, -0x00D20041, -0x00D500D3, 0x00000000, -0x004A0012, -0x00D70033, -0x00D600D4, 0x00000000, -0x004B0012, -0x00D80036, -0x00D600D4, 0x00000000, -0x004C0012, -0x00D90039, -0x00D600D4, 0x00000000, -0x011D0016, -0x011E0001, -0x011F0001, 0x00000000, -0x00010017, -0x00010001, -0x00000001, 0x00000000, -0x01210014, -0x0123010A, -0x01260124, -0x00000013, -0x01210014, -0x0123010B, -0x01270124, -0x00000013, -0x01280015, -0x012F012D, -0x01320130, -0x00000013, -0x01280015, -0x012F012E, -0x01330130, -0x00000013, -0x012B0000, -0x00860129, -0x00930075, 0x00000000, -0x012C0000, -0x0088012A, -0x00950078, 0x00000000, -0x00010013, -0x00010001, -0x01340001, 0x00000000, -0x00010013, -0x00010001, -0x01350001, 0x00000000, 0x00000000, 0x00000000, @@ -6970,14 +7554,10 @@ 0x00000000, 0x00000000, 0x00000000, -0x00000010, 0x00000000, 0x00000000, -0x000022E8, 0x00000000, 0x00000000, -0x00000018, -0x000022E0, 0x00000000, 0x00000000, 0x00000000, @@ -7045,12 +7625,9 @@ 0x00000000, 0x00000000, 0x00000000, -0x0000000A, 0x00000000, 0x00000000, 0x00000000, -0x7FFF7FFF, -0x7FFF7FFF, 0x00000000, 0x00000000, 0x00000000, @@ -7060,103 +7637,29 @@ 0x00000000, 0x00000000, 0x00000000, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, -0x019C0189, -0x01C201AF, -0x01E801D5, -0x020E01FB, -0x02340221, -0x025A0247, -0x0280026D, -0x02A60293, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, -0x02CF02BD, -0x02F302E1, -0x03170305, -0x033B0329, -0x035F034D, -0x03830371, -0x03A70395, -0x03CB03B9, -0x00008363, -0x00000428, -0x00000000, -0x00003800, -0x000000FF, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, 0x00000000, 0x00000000, 0x00000000, -0x000CE13D, -0x00006845, -0x00008363, -0x00000428, -0x000CE13D, -0x00006845, -0x00008363, -0x00000428, -0x000CE13D, -0x00006845, -0x25782728, -0x00002738, -0x25682708, -0x00002718, -0x297826B8, -0x000026A8, -0x29682698, -0x00002688, -0x255826E8, -0x000026F8, -0x254826C8, -0x000026D8, -0x29582638, -0x00002628, -0x29482618, -0x00002608, -0x25382668, -0x00002678, -0x25282648, -0x00002658, -0x27582488, -0x00002478, -0x259824A8, -0x00002498, -0x25A824C8, -0x000024B8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -0x00003000, 0x00000000, 0x00000000, 0x00000000, @@ -8011,30 +8514,14 @@ 0x00000000, 0x00000000, 0x00000000, -0x00003900, -0x00003900, -0x00003900, -0x00003CBF, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, -0x00000004, -0x00000001, 0x00000000, 0x00000000, 0x00000000, -0x003FFFF0, 0x00000000, -0x00400000, -0x254826C8, -0x00002C08, -0x255826E8, -0x00002C18, 0x00000000, 0x00000000, 0x00000000, @@ -20512,468 +20999,470 @@ 0x00000000, 0x00000000, 0x00000000, -0x00041603, +0x00046f03, 0x00000000, -0x00041902, +0x00047202, 0x00000000, -0x00066A03, +0x0006ba03, 0x00000000, -0x00046305, +0x0004bc05, 0x00000000, -0x00046804, +0x0004c104, 0x00000000, -0x00066505, +0x0006b505, 0x00000000, -0x0001830C, +0x0001dc0c, 0x00000000, -0x00046C28, +0x0004c528, 0x00000000, -0x0004BC28, +0x00051528, 0x00000000, -0x0006F206, +0x0006ef06, 0x00000000, -0x00022A18, +0x00028318, 0x00000000, -0x00013A12, +0x00019312, 0x00000000, -0x00014C12, -0x00013700, -0x00015C24, -0x00013812, -0x00014A12, +0x0001a512, +0x00019000, +0x0001b524, +0x00019112, +0x0001a312, 0x00120024, -0x00057800, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015C0E, -0x00015F0C, -0x00016A04, -0x00015F0C, -0x00016E04, -0x00000000, -0x00017202, -0x00000000, -0x00017402, -0x00016B0C, -0x00017604, -0x00016B0C, -0x00017A04, -0x00017E02, -0x00017E02, +0x0006dc00, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b50e, +0x0001b80c, +0x0001c304, +0x0001b80c, +0x0001c704, 0x00000000, -0x00018F0C, +0x0001cb02, 0x00000000, -0x00019B0C, +0x0001cd02, +0x0001c40c, +0x0001cf04, +0x0001c40c, +0x0001d304, +0x0001d702, +0x0001d702, 0x00000000, -0x0001770C, +0x0001e80c, 0x00000000, -0x00016B0C, +0x0001f40c, 0x00000000, -0x00015F0C, -0x00016B0C, -0x0001770C, +0x0001d00c, 0x00000000, -0x0001A70C, +0x0001c40c, 0x00000000, -0x0001BF0C, +0x0001b80c, +0x0001c40c, +0x0001d00c, 0x00000000, -0x0001CB0C, +0x0002000c, 0x00000000, -0x0001FD0C, -0x00020909, -0x00020909, +0x0002180c, 0x00000000, -0x00018009, -0x000B0009, +0x0002240c, 0x00000000, +0x0002560c, +0x00026209, +0x00026209, 0x00000000, -0x0001B30C, +0x0001d909, +0x000b0009, 0x00000000, -0x00066D0C, 0x00000000, -0x0006790C, +0x00020c0c, 0x00000000, -0x0006850C, +0x0006bd0c, 0x00000000, -0x0006910C, +0x0006c90c, 0x00000000, -0x0002420C, -0x00022A18, -0x0002720C, -0x00022A18, -0x00027E0C, +0x0006d50c, 0x00000000, -0x00024E0C, -0x00022A00, -0x00028A0C, -0x00022A00, -0x0002960C, +0x0006e10c, 0x00000000, -0x00025A0C, -0x00022A18, -0x0002A20C, -0x00022A18, -0x0002AE0C, +0x00029b0c, +0x00028318, +0x0002cb0c, +0x00083900, +0x0002d70c, 0x00000000, -0x0008230C, -0x00022A18, -0x00082F0C, -0x00022A18, -0x00083B0C, -0x00022A18, -0x0002BA0C, -0x00022A18, -0x0002C60C, +0x0002a70c, +0x00028300, +0x0002e30c, +0x00083900, +0x0002ef0c, 0x00000000, -0x0002660C, -0x00022A18, -0x0002D20C, -0x00022A18, -0x0002DE0C, -0x00022A18, -0x0002EA0C, -0x00022A18, -0x0002F60C, -0x00022A18, -0x0003020C, -0x00022A18, -0x00030E0C, +0x0002b30c, +0x00028318, +0x0002fb0c, +0x00083900, +0x0003070c, +0x00083801, +0x00083901, 0x00000000, -0x00031A78, 0x00000000, -0x00039218, 0x00000000, -0x0003AA18, 0x00000000, -0x0003C218, +0x00028318, +0x0003130c, +0x00083900, +0x00031f0c, 0x00000000, -0x0003DA18, +0x0002bf0c, +0x00028318, +0x00032b0c, +0x00083900, +0x0003370c, +0x00028318, +0x0003430c, +0x00083900, +0x00034f0c, +0x00028318, +0x00035b0c, +0x00083900, +0x0003670c, 0x00000000, -0x00040A0C, -0x000B0019, +0x00037378, 0x00000000, -0x000B0009, +0x0003eb18, 0x00000000, +0x00040318, 0x00000000, -0x00041B18, +0x00041b18, 0x00000000, 0x00043318, 0x00000000, -0x00044B18, -0x000B2DD8, +0x0004630c, +0x000b0019, +0x00000000, +0x000b0009, +0x00000000, 0x00000000, -0x000B2DD4, +0x00047418, 0x00000000, -0x000B2DC0, +0x00048c18, 0x00000000, +0x0004a418, +0x000b080c, 0x00000000, -0x00046C28, -0x00029313, -0x0002A613, -0x00046C28, -0x0002BB00, -0x0002BC00, -0x000B7900, +0x000b0808, +0x00000000, +0x000b07f4, +0x00000000, +0x00000000, +0x0004c528, +0x0002ec13, +0x0002ff13, +0x0004c528, +0x00031400, +0x00031500, +0x00020600, 0x00590002, -0x00217800, -0x00000000, -0x00049428, -0x00029313, -0x0002A613, -0x00049428, -0x0002B900, -0x0002BA00, -0x000B8100, -0x005E0002, -0x00212800, -0x00000000, -0x00049428, +0x00038c00, +0x00000000, +0x0004ed28, +0x0002ec13, +0x0002ff13, +0x0004ed28, +0x00031200, +0x00031300, +0x00020e00, +0x005e0002, +0x00033c00, +0x00000000, +0x0004ed28, 0x00590004, -0x00217800, -0x005E0004, -0x00212800, -0x00000000, -0x00049428, -0x00000000, -0x0004BC28, -0x0003B912, -0x0003CB12, -0x0004BC28, -0x0003DD00, -0x0003DE00, -0x000B9100, -0x0067000C, -0x00226800, -0x00000000, -0x0004E40C, -0x0001BF0C, -0x00015F0C, -0x00000000, -0x0004F00C, -0x00000000, -0x0004FC0C, -0x00022A18, -0x0005080C, -0x00022A18, -0x0005140C, -0x00053919, -0x00053919, -0x00000000, -0x00041119, -0x00052019, -0x00052019, -0x0003F819, -0x0003DF19, -0x00000000, -0x0004450B, -0x00000000, -0x0004500B, -0x00000000, -0x00045B07, -0x00000000, -0x00042A0B, -0x00000000, -0x0004350B, -0x00000000, -0x00044005, -0x0005760B, -0x0005760B, -0x00058107, -0x00058107, -0x0005880B, -0x0005880B, -0x00059305, -0x00059305, -0x0005980B, -0x0005980B, -0x0005A307, -0x0005A307, -0x0005AA0B, -0x0005AA0B, -0x0005B505, -0x0005B505, -0x0005BC0B, -0x0005BC0B, -0x0005C707, -0x0005C707, -0x0005CE0B, -0x0005CE0B, -0x0005D905, -0x0005D905, -0x0005DE0B, -0x0005DE0B, -0x0005E907, -0x0005E907, -0x0005F00B, -0x0005F00B, -0x0005FB05, -0x0005FB05, -0x0006120B, -0x0006120B, -0x00061D07, -0x00061D07, -0x0006000B, -0x0006000B, -0x00060B05, -0x00060B05, -0x00000000, -0x00063D28, -0x00000000, -0x00057002, -0x00000000, -0x00057204, +0x00038c00, +0x005e0004, +0x00033c00, +0x00000000, +0x0004ed28, +0x00000000, +0x00051528, +0x00041212, +0x00042412, +0x00051528, +0x00043600, +0x00043700, +0x00021e00, +0x0067000c, +0x00047c00, +0x00000000, +0x00053d0c, +0x0002180c, +0x0001b80c, +0x00000000, +0x0005490c, +0x00083900, +0x0005550c, +0x00028318, +0x0005610c, +0x00083900, +0x00056d0c, +0x00059219, +0x00059219, +0x00000000, +0x00046a19, +0x00057919, +0x00057919, +0x00045119, +0x00043819, +0x00000000, +0x0004a20d, +0x00000000, +0x0004af0d, +0x00000000, +0x0004bc07, +0x00000000, +0x0004830d, +0x00000000, +0x0004900d, +0x00000000, +0x00049d05, +0x0005cf0d, +0x0005cf0d, +0x0005dc07, +0x0005dc07, +0x0005e30d, +0x0005e30d, +0x0005f005, +0x0005f005, +0x0005f50d, +0x0005f50d, +0x00060207, +0x00060207, +0x0006090d, +0x0006090d, +0x00061605, +0x00061605, +0x00061b0d, +0x00061b0d, +0x00062807, +0x00062807, +0x00062f0d, +0x00062f0d, +0x00063c05, +0x00063c05, +0x0006410d, +0x0006410d, +0x00064e07, +0x00064e07, +0x0006550d, +0x0006550d, +0x00066205, +0x00066205, +0x00067b0d, +0x00067b0d, +0x00068805, +0x00068805, +0x0006670d, +0x0006670d, +0x00067407, +0x00067407, +0x00000000, +0x00068d28, +0x00000000, +0x0005c902, +0x00000000, +0x0005cb04, 0x00000006, 0x00000000, 0x00000003, 0x00000000, -0x000B000B, +0x000b000d, 0x00000000, 0x00010007, 0x00000000, -0x000B000B, +0x000b000d, 0x00000000, 0x00030005, 0x00000000, -0x0005520F, -0x0005520F, -0x000B000F, -0x0008A800, -0x0005610F, -0x0005610F, +0x0005ab0f, +0x0005ab0f, +0x0000000f, +0x00000000, +0x0005ba0f, +0x0005ba0f, 0x00030007, 0x00000000, -0x00062209, -0x00062209, -0x00046209, -0x00046209, -0x000B0009, 0x00000000, 0x00000000, -0x00063102, -0x00062B03, -0x00062B03, -0x000BA102, -0x00046B03, -0x00000003, -0x002E8C00, -0x00000003, -0x002EBC00, -0x00000003, -0x002EC000, 0x00000000, -0x00063302, -0x00062E03, -0x00062E03, -0x000BB102, -0x00046E03, -0x00000003, -0x002E8E00, -0x00069D09, -0x00069D09, -0x0006A609, -0x0006A609, -0x00000000, -0x00047109, -0x00000000, -0x00047A09, -0x00000000, -0x00063502, -0x0006AF03, -0x0006AF03, -0x000BB302, -0x00048303, -0x00000000, -0x00063902, -0x0006B203, -0x0006B203, -0x000BB702, -0x00048603, -0x00000000, -0x00063702, -0x0006B503, -0x0006B503, -0x000BB502, -0x00048903, -0x00000003, -0x002EBE00, 0x00000000, -0x00063B02, -0x0006B803, -0x0006B803, -0x000BB902, -0x00048C03, -0x00000003, -0x002EC200, -0x00000000, -0x0006BB0C, -0x00022A18, -0x0006C70C, -0x00022A18, -0x0006D30C, -0x0006DF09, -0x0006DF09, -0x00000000, -0x00049109, -0x0006E809, -0x0006E809, -0x0004A309, -0x00049A09, -0x00000000, -0x00072A06, -0x00022A00, -0x00074818, -0x0007600B, -0x0007600B, -0x00000000, -0x0004B00B, -0x00013700, -0x00073018, -0x0007600B, -0x0007600B, -0x00074818, -0x00072A06, -0x00C4000B, -0x0000C500, -0x00000000, -0x0006F806, -0x00022A18, -0x0006FF18, -0x0004AC04, -0x0006FE00, -0x00013700, -0x00071700, -0x000BAE00, -0x00071812, -0x00EA00CC, -0x000026FF, -0x00000000, -0x0006F206, 0x00000000, -0x00100020, -0x00F42CDC, -0x0000002C, +0x0005ba01, +0x00000000, +0x0005ba01, +0x000c0364, +0x00000007, +0x002003b4, +0x00000007, +0x00000000, +0x0006da02, +0x00000000, +0x00098802, +0x00000000, +0x0006dc02, +0x00000000, +0x00098a02, +0x0006de02, +0x00098c01, +0x00000000, +0x00000000, +0x00000000, +0x0008c860, +0x00000000, +0x0008c860, +0x00000000, +0x00092860, +0x00000000, +0x00092860, +0x00050c01, +0x00083918, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, 0x00000000, -0x0004BB0F, -0x00078313, -0x00078313, 0x00000000, -0x0004CA13, 0x00000000, -0x0004DD13, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00072706, +0x00028300, +0x00074518, +0x00075d0b, +0x00075d0b, +0x00000000, +0x0004c90b, +0x00019000, +0x00072d18, +0x00075d0b, +0x00075d0b, +0x00074518, +0x00072706, +0x00c4000b, +0x0000c500, +0x00000000, +0x0006f506, +0x00083900, +0x0006f506, +0x00028318, +0x0006fc18, +0x0004c504, +0x0006fb00, +0x00019000, +0x00071400, +0x00023000, +0x00071512, +0x00ea00cd, +0x000026ff, +0x00000000, +0x0006ef06, +0x0006ee00, +0x0004d40f, +0x00000000, +0x00000000, +0x0006ed00, +0x0004d40f, +0x00078013, +0x00078013, +0x00000000, +0x0004e313, +0x00000000, +0x0004f613, 0x00170013, 0x00000000, 0x00170013, 0x00000000, -0x00079613, -0x00079613, -0x0007A913, -0x0007A913, -0x0007BC13, -0x0007BC13, -0x00002060, +0x00079313, +0x00079313, +0x0007a613, +0x0007a613, +0x0007b913, +0x0007b913, +0x00000274, 0x00000000, -0x00002088, +0x0000029c, 0x00000000, -0x000020B0, +0x000002c4, 0x00000000, -0x000020D8, +0x000002ec, 0x00000000, -0x00002100, +0x00000314, 0x00000000, -0x00002128, +0x0000033c, 0x00000000, -0x00002150, +0x00000364, 0x00000000, -0x00002178, +0x0000038c, 0x00000000, -0x000021A0, +0x000003b4, 0x00000000, -0x000021C8, +0x000003dc, 0x00000000, -0x000021F0, +0x00000404, 0x00000000, -0x00002218, +0x0000042c, 0x00000000, -0x00002240, +0x00000454, 0x00000000, -0x00002268, +0x0000047c, 0x00000000, -0x00002290, +0x000004a4, 0x00000000, -0x000022B8, +0x000004cc, 0x00000000, 0x00000000, 0x00000000, @@ -21008,124 +21497,300 @@ 0x00000000, 0x00000000, 0x00000000, -0x000B2710, -0x000F00EA, +0x0001ac10, +0x000f00eb, 0x00000000, 0x00000002, 0x00000000, 0x00000000, -0x00013700, +0x00019000, +0x00000000, +0x00019a0c, +0x00000000, +0x0007cc02, +0x00000000, +0x0007ce04, +0x00000000, +0x0007d206, +0x00000000, +0x0007d80c, +0x00000000, +0x0007e418, +0x00000000, +0x00044b0c, +0x00000000, +0x0004570c, +0x00000000, +0x0002300c, +0x00000000, +0x00023c0c, +0x00000000, +0x00024802, +0x00000000, +0x00024b04, +0x00000000, +0x00025002, +0x00000000, +0x00025204, +0x00000000, +0x0007fc0c, +0x00028318, +0x0008080c, +0x00083900, +0x0008140c, +0x00000914, +0x00000000, +0x0000091c, +0x00000000, +0x00000924, +0x00000000, +0x0000092c, +0x00000000, +0x00000934, +0x00000000, +0x0000093c, +0x00000000, +0x00000944, +0x00000000, +0x0000094c, +0x00000000, +0x00000954, +0x00000000, +0x0000095c, +0x00000000, +0x00000000, +0x00013d00, +0x00000000, +0x00056000, +0x00013d00, +0x00019000, +0x00001940, +0x00000000, +0x00050c00, +0x00050c01, +0x00000000, +0x00083a28, +0x00000000, +0x00083a28, +0x0002ec13, +0x0002ff13, +0x00083a28, +0x00051000, +0x00051100, +0x00025900, +0x00230002, +0x0002c401, +0x00230004, +0x0002c401, +0x00000000, +0x00086228, +0x00000000, +0x00086228, +0x00000000, +0x00086228, +0x00000000, +0x00088a02, +0x00000000, +0x00088c04, +0x00000000, +0x00024803, +0x00000000, +0x00024b05, +0x0002ec13, +0x0002ff13, +0x00086228, +0x00050e00, +0x00050f00, +0x00026100, +0x002f0002, +0x00040401, +0x002f0004, +0x00040401, +0x000009a4, +0x00000000, +0x000009ac, +0x00000000, +0x000512a8, +0x0008901c, +0x0006001c, +0x00000000, +0x000009b4, +0x00000000, +0x00000000, +0x00100020, +0x000806f0, +0x00000007, +0x000009bc, +0x00000000, +0x000512a8, +0x0008ac1c, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, 0x00000000, -0x0001410C, 0x00000000, -0x0007CF02, 0x00000000, -0x0007D104, 0x00000000, -0x0007D506, 0x00000000, -0x0007DB0C, 0x00000000, -0x0007E748, 0x00000000, -0x0003F20C, 0x00000000, -0x0003FE0C, 0x00000000, -0x0001D70C, 0x00000000, -0x0001E30C, 0x00000000, -0x0001EF02, 0x00000000, -0x0001F204, 0x00000000, -0x0001F702, 0x00000000, -0x0001F904, 0x00000000, -0x0007FF0C, -0x00022A18, -0x00080B0C, -0x00022A18, -0x0008170C, -0x00002EEC, 0x00000000, -0x00002EF4, 0x00000000, -0x00002EFC, 0x00000000, -0x00002F04, 0x00000000, -0x00002F0C, 0x00000000, -0x00002F14, 0x00000000, -0x00002F1C, 0x00000000, -0x00002F24, 0x00000000, -0x00002F2C, 0x00000000, -0x00002F34, 0x00000000, -0x00002F3C, 0x00000000, -0x00002F44, 0x00000000, -0x00002F4C, 0x00000000, 0x00000000, -0x0008B800, 0x00000000, -0x000E4000, -0x0008B800, -0x00013700, -0x00003CC0, 0x00000000, -0x0004F300, -0x0004F301, 0x00000000, -0x00084828, 0x00000000, -0x00084828, -0x00029313, -0x0002A613, -0x00084828, -0x0004F500, -0x0004F600, -0x000F3400, -0x00250002, -0x0020B001, -0x00250004, -0x0020B001, 0x00000000, -0x00087028, 0x00000000, -0x00087028, 0x00000000, -0x00087028, 0x00000000, -0x00089802, 0x00000000, -0x00089A04, 0x00000000, -0x0001EF03, 0x00000000, -0x0001F205, -0x00029313, -0x0002A613, -0x00087028, -0x0004F700, -0x0004F800, -0x000F3C00, -0x00310002, -0x0021F001, -0x00310004, -0x0021F001, -0x00003D10, 0x00000000, -0x00003D18, 0x00000000, 0x00000000, 0x00000000, @@ -23875,6 +24540,10 @@ 0x00000000, 0x00000000, 0x00000000, +0x00000001, +0x00000001, +0x00000001, +0x00000001, 0x00000000, 0x00000000, 0x00000000, @@ -23899,6 +24568,7 @@ 0x00000000, 0x00000000, 0x00000000, +0x0000001b, 0x00000000, 0x00000000, 0x00000000, @@ -23950,21 +24620,41 @@ 0x00000000, 0x00000000, 0x00000000, +0x00000003, 0x00000000, +0x00000003, 0x00000000, +0x00000003, 0x00000000, +0x00000006, 0x00000000, +0x00000006, 0x00000000, +0x00000006, 0x00000000, +0x00000009, 0x00000000, +0x00000009, 0x00000000, +0x00000009, 0x00000000, +0x00000005, 0x00000000, +0x00000005, 0x00000000, +0x00000005, 0x00000000, +0x00000007, 0x00000000, +0x00000007, 0x00000000, +0x00000007, 0x00000000, +0x00000008, +0x00000000, +0x00000008, +0x00000000, +0x00000008, 0x00000000, 0x00000000, 0x00000000, @@ -24087,7 +24777,6 @@ 0x00000000, 0x00000000, 0x00000000, -0x0000001B, 0x00000000, 0x00000000, 0x00000000, @@ -24139,41 +24828,411 @@ 0x00000000, 0x00000000, 0x00000000, -0x00000003, 0x00000000, -0x00000003, 0x00000000, -0x00000003, 0x00000000, -0x00000006, 0x00000000, -0x00000006, 0x00000000, -0x00000006, 0x00000000, -0x00000009, 0x00000000, -0x00000009, 0x00000000, -0x00000009, 0x00000000, -0x00000005, 0x00000000, -0x00000005, 0x00000000, -0x00000005, 0x00000000, -0x00000007, 0x00000000, -0x00000007, 0x00000000, -0x00000007, 0x00000000, -0x00000008, 0x00000000, -0x00000008, 0x00000000, -0x00000008, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00e66666, +0x00199999, +0x00199999, +0x00199999, +0x00000000, +0x00000000, +0x00e66666, +0x00e66666, +0x00ffffff, +0x00ffffff, +0x00199999, +0x00199999, +0x00f33333, +0x000ccccc, +0x00f33333, +0x00f33333, +0x00199999, +0x00e66666, +0x00f33333, +0x00f33333, +0x00f33333, +0x000ccccc, +0x00199999, +0x00199999, +0x000ccccc, +0x00162b95, +0x00f33333, +0x000ccccc, +0x00e66666, +0x00000000, +0x00f33333, +0x00f33333, +0x000ccccc, +0x00e9d46a, +0x00199999, +0x00e66666, +0x000ccccc, +0x00e9d46a, +0x00f33333, +0x00f33333, +0x00e66666, +0x00ffffff, +0x00f33333, +0x000ccccc, +0x000ccccc, +0x00162b95, +0x00199999, +0x00199999, +0x00162b95, +0x0018ba4a, +0x000ccccc, +0x00162b95, +0x00000000, +0x00121a18, +0x00f33333, +0x000ccccc, +0x00e9d46a, +0x0006a032, +0x00e66666, +0x00000000, +0x00e9d46a, +0x00f95fcd, +0x00f33333, +0x00f33333, +0x00ffffff, +0x00ede5e7, +0x000ccccc, +0x00e9d46a, +0x00162b95, +0x00e745b5, +0x00199999, +0x00e66666, +0x00162b95, +0x00e745b5, +0x000ccccc, +0x00e9d46a, +0x00000000, +0x00ede5e7, +0x00f33333, +0x00f33333, +0x00e9d46a, +0x00f95fcf, +0x00e66666, +0x00ffffff, +0x00e9d46a, +0x0006a032, +0x00f33333, +0x000ccccc, +0x00ffffff, +0x00121a18, +0x000ccccc, +0x00162b95, +0x00162b95, +0x0018ba4a, +0x00199999, +0x00199999, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x007fffff, +0x00800000, +0x001fffff, +0x00e00000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, +0x00000000, 0x00000000, 0x00000000, 0x00000000, @@ -24505,102 +25564,8 @@ 0x00000000, 0x00000000, 0x00000000, -0x00E66666, -0x00199999, -0x00199999, -0x00199999, 0x00000000, 0x00000000, -0x00E66666, -0x00E66666, -0x00FFFFFF, -0x00FFFFFF, -0x00199999, -0x00199999, -0x00F33333, -0x000CCCCC, -0x00F33333, -0x00F33333, -0x00199999, -0x00E66666, -0x00F33333, -0x00F33333, -0x00F33333, -0x000CCCCC, -0x00199999, -0x00199999, -0x000CCCCC, -0x00162B95, -0x00F33333, -0x000CCCCC, -0x00E66666, -0x00000000, -0x00F33333, -0x00F33333, -0x000CCCCC, -0x00E9D46A, -0x00199999, -0x00E66666, -0x000CCCCC, -0x00E9D46A, -0x00F33333, -0x00F33333, -0x00E66666, -0x00FFFFFF, -0x00F33333, -0x000CCCCC, -0x000CCCCC, -0x00162B95, -0x00199999, -0x00199999, -0x00162B95, -0x0018BA4A, -0x000CCCCC, -0x00162B95, -0x00000000, -0x00121A18, -0x00F33333, -0x000CCCCC, -0x00E9D46A, -0x0006A032, -0x00E66666, -0x00000000, -0x00E9D46A, -0x00F95FCD, -0x00F33333, -0x00F33333, -0x00FFFFFF, -0x00EDE5E7, -0x000CCCCC, -0x00E9D46A, -0x00162B95, -0x00E745B5, -0x00199999, -0x00E66666, -0x00162B95, -0x00E745B5, -0x000CCCCC, -0x00E9D46A, -0x00000000, -0x00EDE5E7, -0x00F33333, -0x00F33333, -0x00E9D46A, -0x00F95FCF, -0x00E66666, -0x00FFFFFF, -0x00E9D46A, -0x0006A032, -0x00F33333, -0x000CCCCC, -0x00FFFFFF, -0x00121A18, -0x000CCCCC, -0x00162B95, -0x00162B95, -0x0018BA4A, -0x00199999, -0x00199999, 0x00000000, 0x00000000, 0x00000000, @@ -24745,8 +25710,6 @@ 0x00000000, 0x00000000, 0x00000000, -0x00010000, -0x00010000, 0x00000000, 0x00000000, 0x00000000, @@ -24919,3 +25882,5 @@ 0x00000000, 0x00000000, 0x00000000, +0x000049cc, +0x000049cc, diff --git a/sound/soc/omap/abe/abe_functionsid.h b/sound/soc/omap/abe/abe_functionsid.h index a2bf7dc..db21988 100644 --- a/sound/soc/omap/abe/abe_functionsid.h +++ b/sound/soc/omap/abe/abe_functionsid.h @@ -1,61 +1,60 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ #ifndef _ABE_FUNCTIONSID_H_ #define _ABE_FUNCTIONSID_H_ /* @@ -68,17 +67,17 @@ #define C_ABE_FW_FUNCTION_OS0Fill 4 #define C_ABE_FW_FUNCTION_mixer2 5 #define C_ABE_FW_FUNCTION_mixer4 6 -#define C_ABE_FW_FUNCTION_inplaceGain 7 -#define C_ABE_FW_FUNCTION_StreamRouting 8 -#define C_ABE_FW_FUNCTION_gainConverge 9 -#define C_ABE_FW_FUNCTION_dualIir 10 -#define C_ABE_FW_FUNCTION_IO_DL_pp 11 -#define C_ABE_FW_FUNCTION_IO_generic 12 -#define C_ABE_FW_FUNCTION_irq_fifo_debug 13 -#define C_ABE_FW_FUNCTION_synchronize_pointers 14 -#define C_ABE_FW_FUNCTION_VIBRA2 15 -#define C_ABE_FW_FUNCTION_VIBRA1 16 -#define C_ABE_FW_FUNCTION_APS_core 17 +#define C_ABE_FW_FUNCTION_mixer4_dual_mono 7 +#define C_ABE_FW_FUNCTION_inplaceGain 8 +#define C_ABE_FW_FUNCTION_StreamRouting 9 +#define C_ABE_FW_FUNCTION_gainConverge 10 +#define C_ABE_FW_FUNCTION_dualIir 11 +#define C_ABE_FW_FUNCTION_IO_DL_pp 12 +#define C_ABE_FW_FUNCTION_IO_generic 13 +#define C_ABE_FW_FUNCTION_irq_fifo_debug 14 +#define C_ABE_FW_FUNCTION_synchronize_pointers 15 +#define C_ABE_FW_FUNCTION_VIBRA2 16 +#define C_ABE_FW_FUNCTION_VIBRA1 17 #define C_ABE_FW_FUNCTION_IIR_SRC_MIC 18 #define C_ABE_FW_FUNCTION_wrappers 19 #define C_ABE_FW_FUNCTION_ASRC_DL_wrapper 20 @@ -86,6 +85,11 @@ #define C_ABE_FW_FUNCTION_mem_init 22 #define C_ABE_FW_FUNCTION_debug_vx_asrc 23 #define C_ABE_FW_FUNCTION_IIR_SRC2 24 +#define C_ABE_FW_FUNCTION_ASRC_DL_wrapper_sibling 25 +#define C_ABE_FW_FUNCTION_ASRC_UL_wrapper_sibling 26 +#define C_ABE_FW_FUNCTION_FIR6 27 +#define C_ABE_FW_FUNCTION_SRC44P1 28 +#define C_ABE_FW_FUNCTION_SRC44P1_1211 29 /* * COPY function ID definitions */ diff --git a/sound/soc/omap/abe/abe_gain.c b/sound/soc/omap/abe/abe_gain.c index a31894d..9c148da 100644 --- a/sound/soc/omap/abe/abe_gain.c +++ b/sound/soc/omap/abe/abe_gain.c @@ -403,21 +403,6 @@ int omap_abe_write_equalizer(struct omap_abe *abe, /* three DMIC are clear at the same time DMIC0 DMIC1 DMIC2 */ eq_mem_len *= 3; break; - case APS1: - eq_offset = OMAP_ABE_C_APS_DL1_COEFFS1_ADDR; - eq_mem = OMAP_ABE_S_APS_IIRMEM1_ADDR; - eq_mem_len = OMAP_ABE_S_APS_IIRMEM1_SIZE; - break; - case APS2L: - eq_offset = OMAP_ABE_C_APS_DL2_L_COEFFS1_ADDR; - eq_mem = OMAP_ABE_S_APS_M_IIRMEM2_ADDR; - eq_mem_len = OMAP_ABE_S_APS_M_IIRMEM2_SIZE; - break; - case APS2R: - eq_offset = OMAP_ABE_C_APS_DL2_R_COEFFS1_ADDR; - eq_mem = OMAP_ABE_S_APS_M_IIRMEM2_ADDR; - eq_mem_len = OMAP_ABE_S_APS_M_IIRMEM2_SIZE; - break; } /* reset SMEM buffers before the coefficients are loaded */ omap_abe_reset_mem(abe, OMAP_ABE_SMEM, eq_mem, eq_mem_len); @@ -633,7 +618,9 @@ int omap_abe_write_gain(struct omap_abe *abe, } ramp = maximum(minimum(RAMP_MAXLENGTH, ramp), RAMP_MINLENGTH); /* ramp data should be interpolated in the table instead */ - ramp_index = 8; + ramp_index = 3; + if ((RAMP_2MS <= ramp) && (ramp < RAMP_5MS)) + ramp_index = 8; if ((RAMP_5MS <= ramp) && (ramp < RAMP_50MS)) ramp_index = 24; if ((RAMP_50MS <= ramp) && (ramp < RAMP_500MS)) diff --git a/sound/soc/omap/abe/abe_ini.c b/sound/soc/omap/abe/abe_ini.c index f445da9..288a3d3 100644 --- a/sound/soc/omap/abe/abe_ini.c +++ b/sound/soc/omap/abe/abe_ini.c @@ -199,17 +199,17 @@ int omap_abe_reload_fw(struct omap_abe *abe, u32 *firmware) abe->irq_dbg_read_ptr = 0; /* Restore Gains not managed by the drivers */ omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); return 0; } EXPORT_SYMBOL(omap_abe_reload_fw); @@ -241,210 +241,100 @@ void omap_abe_build_scheduler_table(struct omap_abe *abe) i < sizeof(abe->MultiFrame); i++) *ptr++ = 0; - /* MultiFrame[0][0] = 0; */ - /* MultiFrame[0][1] = 0; */ abe->MultiFrame[0][2] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_VX_DL)*/; - /* MultiFrame[0][3] = 0; */ - /* MultiFrame[0][4] = 0; */ - /* MultiFrame[0][5] = 0; */ - /* MultiFrame[0][6] = 0; */ - /* MultiFrame[0][7] = 0; */ - /* MultiFrame[1][0] = 0; */ - /* MultiFrame[1][1] = 0; */ - abe->MultiFrame[1][2] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_8); - abe->MultiFrame[1][3] = ABE_TASK_ID(C_ABE_FW_TASK_VX_DL_8_48); - /* MultiFrame[1][4] = 0; */ - /* MultiFrame[1][5] = 0; */ + abe->MultiFrame[0][3] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_8); + + abe->MultiFrame[1][3] = ABE_TASK_ID(C_ABE_FW_TASK_VX_DL_8_48_FIR); abe->MultiFrame[1][6] = ABE_TASK_ID(C_ABE_FW_TASK_DL2Mixer); abe->MultiFrame[1][7] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_VIB_DL)*/; + abe->MultiFrame[2][0] = ABE_TASK_ID(C_ABE_FW_TASK_DL1Mixer); abe->MultiFrame[2][1] = ABE_TASK_ID(C_ABE_FW_TASK_SDTMixer); - /* MultiFrame[2][2] = 0; */ - /* MultiFrame[2][3] = 0; */ - /* MultiFrame[2][4] = 0; */ abe->MultiFrame[2][5] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_DMIC)*/; - /* MultiFrame[2][6] = 0; */ - /* MultiFrame[2][7] = 0; */ + abe->MultiFrame[3][0] = ABE_TASK_ID(C_ABE_FW_TASK_DL1_GAIN); - /* MultiFrame[3][1] = 0; */ - /* MultiFrame[3][2] = 0; */ - /* MultiFrame[3][3] = 0; */ - /* MultiFrame[3][4] = 0; */ - /* MultiFrame[3][5] = 0; */ abe->MultiFrame[3][6] = ABE_TASK_ID(C_ABE_FW_TASK_DL2_GAIN); abe->MultiFrame[3][7] = ABE_TASK_ID(C_ABE_FW_TASK_DL2_EQ); + abe->MultiFrame[4][0] = ABE_TASK_ID(C_ABE_FW_TASK_DL1_EQ); - /* MultiFrame[4][1] = 0; */ abe->MultiFrame[4][2] = ABE_TASK_ID(C_ABE_FW_TASK_VXRECMixer); abe->MultiFrame[4][3] = ABE_TASK_ID(C_ABE_FW_TASK_VXREC_SPLIT); - /* MultiFrame[4][4] = 0; */ - /* MultiFrame[4][5] = 0; */ abe->MultiFrame[4][6] = ABE_TASK_ID(C_ABE_FW_TASK_VIBRA1); abe->MultiFrame[4][7] = ABE_TASK_ID(C_ABE_FW_TASK_VIBRA2); + abe->MultiFrame[5][0] = 0; abe->MultiFrame[5][1] = ABE_TASK_ID(C_ABE_FW_TASK_EARP_48_96_LP); abe->MultiFrame[5][2] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_PDM_UL)*/; - /* MultiFrame[5][3] = 0; */ - /* MultiFrame[5][4] = 0; */ - /* MultiFrame[5][5] = 0; */ - /* MultiFrame[5][6] = 0; */ abe->MultiFrame[5][7] = ABE_TASK_ID(C_ABE_FW_TASK_VIBRA_SPLIT); + abe->MultiFrame[6][0] = ABE_TASK_ID(C_ABE_FW_TASK_EARP_48_96_LP); - /* MultiFrame[6][1] = 0; */ - /* MultiFrame[6][2] = 0; */ - /* MultiFrame[6][3] = 0; */ - /* MultiFrame[6][4] = 0; */ - abe->MultiFrame[6][5] = ABE_TASK_ID(C_ABE_FW_TASK_EchoMixer); - /* MultiFrame[6][6] = 0; */ - /* MultiFrame[6][7] = 0; */ + abe->MultiFrame[6][4] = ABE_TASK_ID(C_ABE_FW_TASK_EchoMixer); + abe->MultiFrame[6][5] = ABE_TASK_ID(C_ABE_FW_TASK_BT_UL_SPLIT); + abe->MultiFrame[7][0] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_PDM_DL)*/; - /* MultiFrame[7][1] = 0; */ - abe->MultiFrame[7][2] = ABE_TASK_ID(C_ABE_FW_TASK_BT_UL_SPLIT); abe->MultiFrame[7][3] = ABE_TASK_ID(C_ABE_FW_TASK_DBG_SYNC); - /* MultiFrame[7][4] = 0; */ abe->MultiFrame[7][5] = ABE_TASK_ID(C_ABE_FW_TASK_ECHO_REF_SPLIT); - /* MultiFrame[7][6] = 0; */ - /* MultiFrame[7][7] = 0; */ - /* MultiFrame[8][0] = 0; */ - /* MultiFrame[8][1] = 0; */ + abe->MultiFrame[8][2] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC1_96_48_LP); - /* MultiFrame[8][3] = 0; */ abe->MultiFrame[8][4] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC1_SPLIT); - /* MultiFrame[8][5] = 0; */ - /* MultiFrame[8][6] = 0; */ - /* MultiFrame[8][7] = 0; */ - /* MultiFrame[9][0] = 0; */ - /* MultiFrame[9][1] = 0; */ + abe->MultiFrame[9][2] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC2_96_48_LP); - /* MultiFrame[9][3] = 0; */ abe->MultiFrame[9][4] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC2_SPLIT); - /* MultiFrame[9][5] = 0; */ abe->MultiFrame[9][6] = 0; abe->MultiFrame[9][7] = ABE_TASK_ID(C_ABE_FW_TASK_IHF_48_96_LP); - /* MultiFrame[10][0] = 0; */ - /* MultiFrame[10][1] = 0; */ + abe->MultiFrame[10][2] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC3_96_48_LP); - /* MultiFrame[10][3] = 0; */ abe->MultiFrame[10][4] = ABE_TASK_ID(C_ABE_FW_TASK_DMIC3_SPLIT); - /* MultiFrame[10][5] = 0; */ - /* MultiFrame[10][6] = 0; */ abe->MultiFrame[10][7] = ABE_TASK_ID(C_ABE_FW_TASK_IHF_48_96_LP); - /* MultiFrame[11][0] = 0; */ - /* MultiFrame[11][1] = 0; */ + abe->MultiFrame[11][2] = ABE_TASK_ID(C_ABE_FW_TASK_AMIC_96_48_LP); - /* MultiFrame[11][3] = 0; */ abe->MultiFrame[11][4] = ABE_TASK_ID(C_ABE_FW_TASK_AMIC_SPLIT); - /* MultiFrame[11][5] = 0; */ - /* MultiFrame[11][6] = 0; */ abe->MultiFrame[11][7] = ABE_TASK_ID(C_ABE_FW_TASK_VIBRA_PACK); - /* MultiFrame[12][0] = 0; */ - /* MultiFrame[12][1] = 0; */ - /* MultiFrame[12][2] = 0; */ + abe->MultiFrame[12][3] = ABE_TASK_ID(C_ABE_FW_TASK_VX_UL_ROUTING); abe->MultiFrame[12][4] = ABE_TASK_ID(C_ABE_FW_TASK_ULMixer); abe->MultiFrame[12][5] = ABE_TASK_ID(C_ABE_FW_TASK_VX_UL_48_8); - /* MultiFrame[12][6] = 0; */ - /* MultiFrame[12][7] = 0; */ - /* MultiFrame[13][0] = 0; */ - /* MultiFrame[13][1] = 0; */ + abe->MultiFrame[13][2] = ABE_TASK_ID(C_ABE_FW_TASK_MM_UL2_ROUTING); abe->MultiFrame[13][3] = ABE_TASK_ID(C_ABE_FW_TASK_SideTone); - /* MultiFrame[13][4] = 0; */ abe->MultiFrame[13][5] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_BT_VX_DL)*/; - /* MultiFrame[13][6] = 0; */ - /* MultiFrame[13][7] = 0; */ - /* MultiFrame[14][0] = 0; */ - /* MultiFrame[14][1] = 0; */ - /* MultiFrame[14][2] = 0; */ + abe->MultiFrame[14][3] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_DMIC)*/; abe->MultiFrame[14][4] = ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_8); - /* MultiFrame[14][5] = 0; */ - /* MultiFrame[14][6] = 0; */ - /* MultiFrame[14][7] = 0; */ + abe->MultiFrame[15][0] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_MM_EXT_OUT)*/; - /* MultiFrame[15][1] = 0; */ - /* MultiFrame[15][2] = 0; */ abe->MultiFrame[15][3] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_BT_VX_UL)*/; - /* MultiFrame[15][4] = 0; */ - /* MultiFrame[15][5] = 0; */ abe->MultiFrame[15][6] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_8); - /* MultiFrame[15][7] = 0; */ - /* MultiFrame[16][0] = 0; */ - /* MultiFrame[16][1] = 0; */ + abe->MultiFrame[16][2] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_8); abe->MultiFrame[16][3] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_VX_UL)*/; - /* MultiFrame[16][4] = 0; */ - /* MultiFrame[16][5] = 0; */ - /* MultiFrame[16][6] = 0; */ - /* MultiFrame[16][7] = 0; */ - /* MultiFrame[17][0] = 0; */ - /* MultiFrame[17][1] = 0; */ + abe->MultiFrame[17][2] = ABE_TASK_ID(C_ABE_FW_TASK_BT_UL_8_48); abe->MultiFrame[17][3] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_MM_UL2)*/; - /* MultiFrame[17][4] = 0; */ - /* MultiFrame[17][5] = 0; */ - /* MultiFrame[17][6] = 0; */ - /* MultiFrame[17][7] = 0; */ + abe->MultiFrame[18][0] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_MM_DL)*/; - /* MultiFrame[18][1] = 0; */ - /* MultiFrame[18][2] = 0; */ - /* MultiFrame[18][3] = 0; */ - /* MultiFrame[18][4] = 0; */ - /* MultiFrame[18][5] = 0; */ abe->MultiFrame[18][6] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_8); - /* MultiFrame[18][7] = 0; */ + abe->MultiFrame[19][0] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_PDM_DL)*/; - /* MultiFrame[19][1] = 0 */ - /* MultiFrame[19][2] = 0; */ - /* MultiFrame[19][3] = 0; */ - /* MultiFrame[19][4] = 0; */ - /* MultiFrame[19][5] = 0; */ + /* MM_UL is moved to OPP 100% */ abe->MultiFrame[19][6] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_MM_UL)*/; - /* MultiFrame[19][7] = 0; */ + abe->MultiFrame[20][0] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_TONES_DL)*/; - /* MultiFrame[20][1] = 0; */ - /* MultiFrame[20][2] = 0; */ - /* MultiFrame[20][3] = 0; */ - /* MultiFrame[20][4] = 0; */ - /* MultiFrame[20][5] = 0; */ abe->MultiFrame[20][6] = ABE_TASK_ID(C_ABE_FW_TASK_ASRC_MM_EXT_IN); - /* MultiFrame[20][7] = 0; */ - /* MultiFrame[21][0] = 0; */ + abe->MultiFrame[21][1] = ABE_TASK_ID(C_ABE_FW_TASK_DEBUGTRACE_VX_ASRCs); - /* MultiFrame[21][2] = 0; */ abe->MultiFrame[21][3] = 0/*ABE_TASK_ID(C_ABE_FW_TASK_IO_MM_EXT_IN)*/; - /* MultiFrame[21][4] = 0; */ - /* MultiFrame[21][5] = 0; */ - /* MultiFrame[21][6] = 0; */ - /* MultiFrame[21][7] = 0; */ /* MUST STAY ON SLOT 22 */ abe->MultiFrame[22][0] = ABE_TASK_ID(C_ABE_FW_TASK_DEBUG_IRQFIFO); abe->MultiFrame[22][1] = ABE_TASK_ID(C_ABE_FW_TASK_INIT_FW_MEMORY); abe->MultiFrame[22][2] = 0; - /* MultiFrame[22][3] = 0; */ /* MM_EXT_IN_SPLIT task must be after IO_MM_EXT_IN and before ASRC_MM_EXT_IN in order to manage OPP50 <-> transitions */ abe->MultiFrame[22][4] = ABE_TASK_ID(C_ABE_FW_TASK_MM_EXT_IN_SPLIT); - /* MultiFrame[22][5] = 0; */ - /* MultiFrame[22][6] = 0; */ - /* MultiFrame[22][7] = 0; */ + abe->MultiFrame[23][0] = ABE_TASK_ID(C_ABE_FW_TASK_GAIN_UPDATE); - /* MultiFrame[23][1] = 0; */ - /* MultiFrame[23][2] = 0; */ - /* MultiFrame[23][3] = 0; */ - /* MultiFrame[23][4] = 0; */ - /* MultiFrame[23][5] = 0; */ - /* MultiFrame[23][6] = 0; */ - /* MultiFrame[23][7] = 0; */ - /* MultiFrame[24][0] = 0; */ - /* MultiFrame[24][1] = 0; */ - /* MultiFrame[24][2] = 0; */ - /* MultiFrame[24][3] = 0; */ - /* MultiFrame[24][4] = 0; */ - /* MultiFrame[24][5] = 0; */ - /* MultiFrame[24][6] = 0; */ - /* MultiFrame[24][7] = 0; */ + omap_abe_mem_write(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MULTIFRAME_ADDR, (u32 *) abe->MultiFrame, sizeof(abe->MultiFrame)); /* reset the uplink router */ @@ -483,75 +373,75 @@ void omap_abe_reset_all_ports(struct omap_abe *abe) omap_abe_reset_port(i); /* mixers' configuration */ omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN, - RAMP_100MS, MIX_DL1_INPUT_MM_DL); + RAMP_5MS, MIX_DL1_INPUT_MM_DL); omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN, - RAMP_100MS, MIX_DL1_INPUT_MM_UL2); + RAMP_5MS, MIX_DL1_INPUT_MM_UL2); omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN, - RAMP_100MS, MIX_DL1_INPUT_VX_DL); + RAMP_5MS, MIX_DL1_INPUT_VX_DL); omap_abe_write_mixer(abe, MIXDL1, MUTE_GAIN, - RAMP_100MS, MIX_DL1_INPUT_TONES); + RAMP_5MS, MIX_DL1_INPUT_TONES); omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN, - RAMP_100MS, MIX_DL2_INPUT_TONES); + RAMP_5MS, MIX_DL2_INPUT_TONES); omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN, - RAMP_100MS, MIX_DL2_INPUT_VX_DL); + RAMP_5MS, MIX_DL2_INPUT_VX_DL); omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN, - RAMP_100MS, MIX_DL2_INPUT_MM_DL); + RAMP_5MS, MIX_DL2_INPUT_MM_DL); omap_abe_write_mixer(abe, MIXDL2, MUTE_GAIN, - RAMP_100MS, MIX_DL2_INPUT_MM_UL2); + RAMP_5MS, MIX_DL2_INPUT_MM_UL2); omap_abe_write_mixer(abe, MIXSDT, MUTE_GAIN, - RAMP_100MS, MIX_SDT_INPUT_UP_MIXER); + RAMP_5MS, MIX_SDT_INPUT_UP_MIXER); omap_abe_write_mixer(abe, MIXSDT, GAIN_0dB, - RAMP_100MS, MIX_SDT_INPUT_DL1_MIXER); + RAMP_5MS, MIX_SDT_INPUT_DL1_MIXER); omap_abe_write_mixer(abe, MIXECHO, MUTE_GAIN, - RAMP_100MS, MIX_ECHO_DL1); + RAMP_5MS, MIX_ECHO_DL1); omap_abe_write_mixer(abe, MIXECHO, MUTE_GAIN, - RAMP_100MS, MIX_ECHO_DL2); + RAMP_5MS, MIX_ECHO_DL2); omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN, - RAMP_100MS, MIX_AUDUL_INPUT_MM_DL); + RAMP_5MS, MIX_AUDUL_INPUT_MM_DL); omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN, - RAMP_100MS, MIX_AUDUL_INPUT_TONES); + RAMP_5MS, MIX_AUDUL_INPUT_TONES); omap_abe_write_mixer(abe, MIXAUDUL, GAIN_0dB, - RAMP_100MS, MIX_AUDUL_INPUT_UPLINK); + RAMP_5MS, MIX_AUDUL_INPUT_UPLINK); omap_abe_write_mixer(abe, MIXAUDUL, MUTE_GAIN, - RAMP_100MS, MIX_AUDUL_INPUT_VX_DL); + RAMP_5MS, MIX_AUDUL_INPUT_VX_DL); omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN, - RAMP_100MS, MIX_VXREC_INPUT_TONES); + RAMP_5MS, MIX_VXREC_INPUT_TONES); omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN, - RAMP_100MS, MIX_VXREC_INPUT_VX_DL); + RAMP_5MS, MIX_VXREC_INPUT_VX_DL); omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN, - RAMP_100MS, MIX_VXREC_INPUT_MM_DL); + RAMP_5MS, MIX_VXREC_INPUT_MM_DL); omap_abe_write_mixer(abe, MIXVXREC, MUTE_GAIN, - RAMP_100MS, MIX_VXREC_INPUT_VX_UL); + RAMP_5MS, MIX_VXREC_INPUT_VX_UL); omap_abe_write_gain(abe, GAINS_DMIC1, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DMIC1, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DMIC2, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DMIC2, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DMIC3, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DMIC3, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_AMIC, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_AMIC, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_SPLIT, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DL1, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_DL2, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); omap_abe_write_gain(abe, GAINS_BTUL, GAIN_0dB, - RAMP_100MS, GAIN_LEFT_OFFSET); + RAMP_5MS, GAIN_LEFT_OFFSET); omap_abe_write_gain(abe, GAINS_BTUL, GAIN_0dB, - RAMP_100MS, GAIN_RIGHT_OFFSET); + RAMP_5MS, GAIN_RIGHT_OFFSET); } diff --git a/sound/soc/omap/abe/abe_initxxx_labels.h b/sound/soc/omap/abe/abe_initxxx_labels.h index 2331dfb..66f1856 100644 --- a/sound/soc/omap/abe/abe_initxxx_labels.h +++ b/sound/soc/omap/abe/abe_initxxx_labels.h @@ -1,64 +1,62 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ #ifndef _ABE_INITXXX_LABELS_H_ #define _ABE_INITXXX_LABELS_H_ - #define Dummy_Regs_labelID 0 #define Dummy_AM_labelID 1 #define Voice_8k_UL_labelID 2 @@ -119,9 +117,9 @@ #define DMIC3_labelID 57 #define DMIC3_L_labelID 58 #define DMIC3_R_labelID 59 -#define MIC4_labelID 60 -#define MIC4_L_labelID 61 -#define MIC4_R_labelID 62 +#define SaturationMinMax_labelID 60 +#define TEMPORARY0_labelID 61 +#define TEMPORARY1_labelID 62 #define BT_UL_L_labelID 63 #define BT_UL_R_labelID 64 #define AMIC_labelID 65 @@ -213,44 +211,44 @@ #define SRC_48_96_LP_labelID 151 #define IHF_48_96_LP_DATA_labelID 152 #define EQ_VX_UL_16K_labelID 153 -#define pAPS_iir1_p23_labelID 154 -#define pAPS_iir1_p45_labelID 155 -#define APS_IIR_Regs_labelID 156 -#define pAPS_core_DL1_p1_labelID 157 -#define pAPS_core_DL1_p23_labelID 158 -#define pAPS_core_DL1_p45_labelID 159 -#define pAPS_core_DL1_r_labelID 160 -#define pAPS_DL2L_core_r_labelID 161 -#define pAPS_DL2R_core_r_labelID 162 -#define pAPS_COIL_core_DL1_p1_labelID 163 -#define pAPS_COIL_core_DL1_p23_labelID 164 -#define pAPS_COIL_core_DL1_p45_labelID 165 -#define pAPS_COIL_core_DL1_r_labelID 166 -#define DL2_L_APS_IIR_p23_labelID 167 -#define DL2_R_APS_IIR_p23_labelID 168 -#define DL2_L_APS_IIR_p45_labelID 169 -#define DL2_R_APS_IIR_p45_labelID 170 -#define DL2_L_APS_CORE_p1_labelID 171 -#define DL2_L_APS_CORE_p23_labelID 172 -#define DL2_L_APS_CORE_p45_labelID 173 -#define DL2_R_APS_CORE_p1_labelID 174 -#define DL2_R_APS_CORE_p23_labelID 175 -#define DL2_R_APS_CORE_p45_labelID 176 -#define DL2_L_APS_COIL_CORE_p1_labelID 177 -#define DL2_L_APS_COIL_CORE_p23_labelID 178 -#define DL2_L_APS_COIL_CORE_p45_labelID 179 -#define pAPS_COIL_DL2L_core_r_labelID 180 -#define DL2_R_APS_COIL_CORE_p1_labelID 181 -#define DL2_R_APS_COIL_CORE_p23_labelID 182 -#define DL2_R_APS_COIL_CORE_p45_labelID 183 -#define pAPS_COIL_DL2R_core_r_labelID 184 -#define DL1_APS_labelID 185 -#define DL2_L_APS_labelID 186 -#define DL2_R_APS_labelID 187 -#define DL1_APS_EQ_p23_labelID 188 -#define DL1_APS_EQ_p45_labelID 189 -#define DL2_APS_EQ_p23_labelID 190 -#define DL2_APS_EQ_p45_labelID 191 +#define AB0_labelID 154 +#define AC0_labelID 155 +#define MM_DL_C_labelID 156 +#define TONES_C_labelID 157 +#define MM_DL_44P1_REGS_labelID 158 +#define TONES_44P1_REGS_labelID 159 +#define MM_DL_44P1_DRIFT_labelID 160 +#define MM_DL_44P1_XK_labelID 161 +#define TONES_44P1_DRIFT_labelID 162 +#define TONES_44P1_XK_labelID 163 +#define SRC_44P1_MULFAC1_2_labelID 164 +#define A00_labelID 165 +#define MM_DL_44P1_WPTR_labelID 166 +#define MM_DL_44P1_RPTR_labelID 167 +#define TONES_44P1_WPTR_labelID 168 +#define TONES_44P1_RPTR_labelID 169 +#define C_0DB_SAT_labelID 170 +#define AC_labelID 171 +#define AD_labelID 172 +#define AE_labelID 173 +#define AF_labelID 174 +#define AG_labelID 175 +#define AH_labelID 176 +#define AI_labelID 177 +#define AJ_labelID 178 +#define AK_labelID 179 +#define AL_labelID 180 +#define AM_labelID 181 +#define AN_labelID 182 +#define AO_labelID 183 +#define AP_labelID 184 +#define AQ_labelID 185 +#define AR_labelID 186 +#define AS_labelID 187 +#define AT_labelID 188 +#define AU_labelID 189 +#define AV_labelID 190 +#define AW_labelID 191 #define pVIBRA1_p0_labelID 192 #define pVIBRA1_p1_labelID 193 #define pVIBRA1_p23_labelID 194 @@ -259,114 +257,204 @@ #define pVibra1_pR2_labelID 197 #define pVibra1_pR3_labelID 198 #define pVIBRA1_r_labelID 199 -#define pVIBRA2_p0_labelID 200 -#define pVIBRA2_p1_labelID 201 -#define pVIBRA2_p23_labelID 202 -#define pVIBRA2_p45_labelID 203 -#define pCtrl_p67_labelID 204 -#define pVIBRA2_r_labelID 205 -#define VIBRA_labelID 206 -#define PING_labelID 207 -#define PING_Regs_labelID 208 -#define UP_48_96_LP_COEFS_labelID 209 -#define AMIC_96_48_data_labelID 210 -#define DOWN_96_48_AMIC_Coefs_labelID 211 -#define DOWN_96_48_DMIC_Coefs_labelID 212 -#define DOWN_96_48_AMIC_Regs_labelID 213 -#define DOWN_96_48_DMIC_Regs_labelID 214 -#define DMIC0_96_48_data_labelID 215 -#define DMIC1_96_48_data_labelID 216 -#define DMIC2_96_48_data_labelID 217 -#define SIO_DMIC_labelID 218 -#define SIO_PDM_UL_labelID 219 -#define SIO_BT_VX_UL_labelID 220 -#define SIO_MM_UL_labelID 221 -#define SIO_MM_UL2_labelID 222 -#define SIO_VX_UL_labelID 223 -#define SIO_MM_DL_labelID 224 -#define SIO_VX_DL_labelID 225 -#define SIO_TONES_DL_labelID 226 -#define SIO_VIB_DL_labelID 227 -#define SIO_BT_VX_DL_labelID 228 -#define SIO_PDM_DL_labelID 229 -#define SIO_MM_EXT_OUT_labelID 230 -#define SIO_MM_EXT_IN_labelID 231 -#define SIO_TDM_OUT_labelID 232 -#define SIO_TDM_IN_labelID 233 -#define DMIC_ATC_PTR_labelID 234 -#define MCPDM_UL_ATC_PTR_labelID 235 -#define BT_VX_UL_ATC_PTR_labelID 236 -#define MM_UL_ATC_PTR_labelID 237 -#define MM_UL2_ATC_PTR_labelID 238 -#define VX_UL_ATC_PTR_labelID 239 -#define MM_DL_ATC_PTR_labelID 240 -#define VX_DL_ATC_PTR_labelID 241 -#define TONES_DL_ATC_PTR_labelID 242 -#define VIB_DL_ATC_PTR_labelID 243 -#define BT_VX_DL_ATC_PTR_labelID 244 -#define PDM_DL_ATC_PTR_labelID 245 -#define MM_EXT_OUT_ATC_PTR_labelID 246 -#define MM_EXT_IN_ATC_PTR_labelID 247 -#define TDM_OUT_ATC_PTR_labelID 248 -#define TDM_IN_ATC_PTR_labelID 249 -#define MCU_IRQ_FIFO_ptr_labelID 250 -#define DEBUG_IRQ_FIFO_reg_labelID 251 -#define UP_DOWN_48_96_labelID 252 -#define OSR96_2_labelID 253 -#define DEBUG_GAINS_labelID 254 -#define DBG_8K_PATTERN_labelID 255 -#define DBG_16K_PATTERN_labelID 256 -#define DBG_24K_PATTERN_labelID 257 -#define DBG_48K_PATTERN_labelID 258 -#define DBG_96K_PATTERN_labelID 259 -#define UL_VX_UL_48_8K_labelID 260 -#define UL_VX_UL_48_16K_labelID 261 -#define BT_DL_labelID 262 -#define BT_UL_labelID 263 -#define BT_DL_8k_labelID 264 -#define BT_DL_16k_labelID 265 -#define BT_UL_8k_labelID 266 -#define BT_UL_16k_labelID 267 -#define MM_EXT_IN_labelID 268 -#define MM_EXT_IN_L_labelID 269 -#define MM_EXT_IN_R_labelID 270 -#define ECHO_REF_48_16_WRAP_labelID 271 -#define ECHO_REF_48_8_WRAP_labelID 272 -#define BT_UL_16_48_WRAP_labelID 273 -#define BT_UL_8_48_WRAP_labelID 274 -#define BT_DL_48_16_WRAP_labelID 275 -#define BT_DL_48_8_WRAP_labelID 276 -#define VX_DL_16_48_WRAP_labelID 277 -#define VX_DL_8_48_WRAP_labelID 278 -#define VX_UL_48_16_WRAP_labelID 279 -#define VX_UL_48_8_WRAP_labelID 280 -#define APS_DL1_IRQs_WRAP_labelID 281 -#define APS_DL2_L_IRQs_WRAP_labelID 282 -#define APS_DL2_R_IRQs_WRAP_labelID 283 -#define ATC_NULL_BUFFER_labelID 284 -#define MEM_INIT_hal_mem_labelID 285 -#define MEM_INIT_write_mem_labelID 286 -#define MEM_INIT_regs_labelID 287 -#define GAIN_0DB_labelID 288 -#define XinASRC_BT_UL_labelID 289 -#define IO_BT_UL_ASRC_labelID 290 -#define ASRC_BT_UL_Coefs_labelID 291 -#define ASRC_BT_UL_Alpha_labelID 292 -#define ASRC_BT_UL_VarsBeta_labelID 293 -#define ASRC_BT_UL_8k_Regs_labelID 294 -#define ASRC_BT_UL_16k_Regs_labelID 295 -#define XinASRC_BT_DL_labelID 296 -#define DL_48_8_DEC_labelID 297 -#define DL_48_16_DEC_labelID 298 -#define BT_DL_8k_TEMP_labelID 299 -#define BT_DL_16k_TEMP_labelID 300 -#define BT_DL_8k_opp100_labelID 301 -#define BT_DL_16k_opp100_labelID 302 -#define ASRC_BT_DL_Coefs_labelID 303 -#define ASRC_BT_DL_Alpha_labelID 304 -#define ASRC_BT_DL_VarsBeta_labelID 305 -#define ASRC_BT_DL_8k_Regs_labelID 306 -#define ASRC_BT_DL_16k_Regs_labelID 307 -#define BT_DL_48_8_OPP100_WRAP_labelID 308 -#define BT_DL_48_16_OPP100_WRAP_labelID 309 +#define pVIBRA2_p0_0_labelID 200 +#define pVIBRA2_p0_labelID 201 +#define pVIBRA2_p1_labelID 202 +#define pVIBRA2_p23_labelID 203 +#define pVIBRA2_p45_labelID 204 +#define pCtrl_p67_labelID 205 +#define pVIBRA2_r_labelID 206 +#define VIBRA_labelID 207 +#define UP_48_96_LP_COEFS_DC_HF_labelID 208 +#define AX_labelID 209 +#define UP_48_96_LP_COEFS_DC_HS_labelID 210 +#define AMIC_96_48_data_labelID 211 +#define DOWN_96_48_AMIC_Coefs_labelID 212 +#define DOWN_96_48_DMIC_Coefs_labelID 213 +#define DOWN_96_48_AMIC_Regs_labelID 214 +#define DOWN_96_48_DMIC_Regs_labelID 215 +#define DMIC0_96_48_data_labelID 216 +#define DMIC1_96_48_data_labelID 217 +#define DMIC2_96_48_data_labelID 218 +#define SIO_DMIC_labelID 219 +#define SIO_PDM_UL_labelID 220 +#define SIO_BT_VX_UL_labelID 221 +#define SIO_MM_UL_labelID 222 +#define SIO_MM_UL2_labelID 223 +#define SIO_VX_UL_labelID 224 +#define SIO_MM_DL_labelID 225 +#define SIO_VX_DL_labelID 226 +#define SIO_TONES_DL_labelID 227 +#define SIO_VIB_DL_labelID 228 +#define SIO_BT_VX_DL_labelID 229 +#define SIO_PDM_DL_labelID 230 +#define SIO_MM_EXT_OUT_labelID 231 +#define SIO_MM_EXT_IN_labelID 232 +#define SIO_TDM_OUT_labelID 233 +#define SIO_TDM_IN_labelID 234 +#define DMIC_ATC_PTR_labelID 235 +#define MCPDM_UL_ATC_PTR_labelID 236 +#define BT_VX_UL_ATC_PTR_labelID 237 +#define MM_UL_ATC_PTR_labelID 238 +#define MM_UL2_ATC_PTR_labelID 239 +#define VX_UL_ATC_PTR_labelID 240 +#define MM_DL_ATC_PTR_labelID 241 +#define VX_DL_ATC_PTR_labelID 242 +#define TONES_DL_ATC_PTR_labelID 243 +#define VIB_DL_ATC_PTR_labelID 244 +#define BT_VX_DL_ATC_PTR_labelID 245 +#define PDM_DL_ATC_PTR_labelID 246 +#define MM_EXT_OUT_ATC_PTR_labelID 247 +#define MM_EXT_IN_ATC_PTR_labelID 248 +#define TDM_OUT_ATC_PTR_labelID 249 +#define TDM_IN_ATC_PTR_labelID 250 +#define MCU_IRQ_FIFO_ptr_labelID 251 +#define DEBUG_IRQ_FIFO_reg_labelID 252 +#define UP_DOWN_48_96_labelID 253 +#define OSR96_2_labelID 254 +#define DEBUG_GAINS_labelID 255 +#define DBG_8K_PATTERN_labelID 256 +#define DBG_16K_PATTERN_labelID 257 +#define DBG_24K_PATTERN_labelID 258 +#define DBG_48K_PATTERN_labelID 259 +#define DBG_96K_PATTERN_labelID 260 +#define UL_VX_UL_48_8K_labelID 261 +#define UL_VX_UL_48_16K_labelID 262 +#define BT_DL_labelID 263 +#define BT_UL_labelID 264 +#define BT_DL_8k_labelID 265 +#define BT_DL_16k_labelID 266 +#define BT_UL_8k_labelID 267 +#define BT_UL_16k_labelID 268 +#define MM_EXT_IN_labelID 269 +#define MM_EXT_IN_L_labelID 270 +#define MM_EXT_IN_R_labelID 271 +#define ECHO_REF_48_16_WRAP_labelID 272 +#define ECHO_REF_48_8_WRAP_labelID 273 +#define BT_UL_16_48_WRAP_labelID 274 +#define BT_UL_8_48_WRAP_labelID 275 +#define BT_DL_48_16_WRAP_labelID 276 +#define BT_DL_48_8_WRAP_labelID 277 +#define VX_DL_16_48_WRAP_labelID 278 +#define VX_DL_8_48_WRAP_labelID 279 +#define VX_UL_48_16_WRAP_labelID 280 +#define VX_UL_48_8_WRAP_labelID 281 +#define ATC_NULL_BUFFER_labelID 282 +#define MEM_INIT_hal_mem_labelID 283 +#define MEM_INIT_write_mem_labelID 284 +#define MEM_INIT_regs_labelID 285 +#define GAIN_0DB_labelID 286 +#define XinASRC_BT_UL_labelID 287 +#define IO_BT_UL_ASRC_labelID 288 +#define ASRC_BT_UL_Coefs_labelID 289 +#define ASRC_BT_UL_Alpha_labelID 290 +#define ASRC_BT_UL_VarsBeta_labelID 291 +#define ASRC_BT_UL_8k_Regs_labelID 292 +#define ASRC_BT_UL_16k_Regs_labelID 293 +#define XinASRC_BT_DL_labelID 294 +#define DL_48_8_DEC_labelID 295 +#define DL_48_16_DEC_labelID 296 +#define BT_DL_8k_TEMP_labelID 297 +#define BT_DL_16k_TEMP_labelID 298 +#define BT_DL_8k_opp100_labelID 299 +#define BT_DL_16k_opp100_labelID 300 +#define ASRC_BT_DL_Coefs_labelID 301 +#define ASRC_BT_DL_Alpha_labelID 302 +#define ASRC_BT_DL_VarsBeta_labelID 303 +#define ASRC_BT_DL_8k_Regs_labelID 304 +#define ASRC_BT_DL_16k_Regs_labelID 305 +#define BT_DL_48_8_OPP100_WRAP_labelID 306 +#define BT_DL_48_16_OPP100_WRAP_labelID 307 +#define VX_DL_8_48_OSR_LP_labelID 308 +#define SRC_FIR6_OSR_LP_labelID 309 +#define VX_DL_8_48_FIR_WRAP_labelID 310 +#define PING_labelID 311 +#define PING_Regs_labelID 312 +#define BT_UL_8_48_FIR_WRAP_labelID 313 +#define BT_UL_8_48_OSR_LP_labelID 314 +#define Dummy_315_labelID 315 +#define Dummy_316_labelID 316 +#define Dummy_317_labelID 317 +#define Dummy_318_labelID 318 +#define Dummy_319_labelID 319 +#define Dummy_320_labelID 320 +#define Dummy_321_labelID 321 +#define Dummy_322_labelID 322 +#define Dummy_323_labelID 323 +#define Dummy_324_labelID 324 +#define Dummy_325_labelID 325 +#define Dummy_326_labelID 326 +#define Dummy_327_labelID 327 +#define Dummy_328_labelID 328 +#define Dummy_329_labelID 329 +#define Dummy_330_labelID 330 +#define Dummy_331_labelID 331 +#define Dummy_332_labelID 332 +#define Dummy_333_labelID 333 +#define Dummy_334_labelID 334 +#define Dummy_335_labelID 335 +#define Dummy_336_labelID 336 +#define Dummy_337_labelID 337 +#define Dummy_338_labelID 338 +#define Dummy_339_labelID 339 +#define Dummy_340_labelID 340 +#define Dummy_341_labelID 341 +#define Dummy_342_labelID 342 +#define Dummy_343_labelID 343 +#define Dummy_344_labelID 344 +#define Dummy_345_labelID 345 +#define Dummy_346_labelID 346 +#define Dummy_347_labelID 347 +#define Dummy_348_labelID 348 +#define Dummy_349_labelID 349 +#define Dummy_350_labelID 350 +#define Dummy_351_labelID 351 +#define Dummy_352_labelID 352 +#define Dummy_353_labelID 353 +#define Dummy_354_labelID 354 +#define Dummy_355_labelID 355 +#define Dummy_356_labelID 356 +#define Dummy_357_labelID 357 +#define Dummy_358_labelID 358 +#define Dummy_359_labelID 359 +#define Dummy_360_labelID 360 +#define Dummy_361_labelID 361 +#define Dummy_362_labelID 362 +#define Dummy_363_labelID 363 +#define Dummy_364_labelID 364 +#define Dummy_365_labelID 365 +#define Dummy_366_labelID 366 +#define Dummy_367_labelID 367 +#define Dummy_368_labelID 368 +#define Dummy_369_labelID 369 +#define Dummy_370_labelID 370 +#define Dummy_371_labelID 371 +#define Dummy_372_labelID 372 +#define Dummy_373_labelID 373 +#define Dummy_374_labelID 374 +#define Dummy_375_labelID 375 +#define Dummy_376_labelID 376 +#define Dummy_377_labelID 377 +#define Dummy_378_labelID 378 +#define Dummy_379_labelID 379 +#define Dummy_380_labelID 380 +#define Dummy_381_labelID 381 +#define Dummy_382_labelID 382 +#define Dummy_383_labelID 383 +#define Dummy_384_labelID 384 +#define Dummy_385_labelID 385 +#define Dummy_386_labelID 386 +#define Dummy_387_labelID 387 +#define Dummy_388_labelID 388 +#define Dummy_389_labelID 389 +#define Dummy_390_labelID 390 +#define Dummy_391_labelID 391 +#define Dummy_392_labelID 392 +#define Dummy_393_labelID 393 +#define Dummy_394_labelID 394 +#define Dummy_395_labelID 395 +#define Dummy_396_labelID 396 +#define Dummy_397_labelID 397 +#define Dummy_398_labelID 398 +#define Dummy_399_labelID 399 #endif /* _ABE_INITXXXX_LABELS_H_ */ diff --git a/sound/soc/omap/abe/abe_main.c b/sound/soc/omap/abe/abe_main.c index 86e969e..8e64f74 100644 --- a/sound/soc/omap/abe/abe_main.c +++ b/sound/soc/omap/abe/abe_main.c @@ -151,6 +151,7 @@ int omap_abe_read_gain(struct omap_abe *abe, u32 id, u32 *f_g, u32 p); int omap_abe_read_mixer(struct omap_abe *abe, u32 id, u32 *f_g, u32 p); +int omap_abe_mono_mixer(struct omap_abe *abe, u32 id, u32 on_off); extern struct omap_abe *abe; @@ -744,4 +745,19 @@ abehal_status abe_use_compensated_gain(u32 on_off) omap_abe_use_compensated_gain(abe, (int)(on_off)); return 0; } + +/** + * abe_mono_mixer + * @id: name of the mixer (MIXDL1, MIXDL2, MIXAUDUL) + * on_off: enable\disable flag + * + * This API Programs DL1Mixer or DL2Mixer to output mono data + * on both left and right data paths. + */ +int abe_mono_mixer(u32 id, u32 on_off) +{ + return omap_abe_mono_mixer(abe, id, on_off); +} +EXPORT_SYMBOL(abe_mono_mixer); + EXPORT_SYMBOL(abe_use_compensated_gain); diff --git a/sound/soc/omap/abe/abe_main.h b/sound/soc/omap/abe/abe_main.h index cf18376..67f6aae 100644 --- a/sound/soc/omap/abe/abe_main.h +++ b/sound/soc/omap/abe/abe_main.h @@ -640,6 +640,7 @@ u32 abe_write_gain(u32 id, s32 f_g, u32 ramp, u32 p); u32 abe_write_mixer(u32 id, s32 f_g, u32 f_ramp, u32 p); u32 abe_read_gain(u32 id, u32 *f_g, u32 p); u32 abe_read_mixer(u32 id, u32 *f_g, u32 p); +int abe_mono_mixer(u32 id, u32 on_off); u32 abe_set_router_configuration(u32 id, u32 k, u32 *param); u32 abe_set_opp_processing(u32 opp); u32 abe_disable_data_transfer(u32 id); diff --git a/sound/soc/omap/abe/abe_port.c b/sound/soc/omap/abe/abe_port.c index 069791a..3b1ef5b 100644 --- a/sound/soc/omap/abe/abe_port.c +++ b/sound/soc/omap/abe/abe_port.c @@ -192,6 +192,9 @@ void omap_abe_clean_temporary_buffers(struct omap_abe *abe, u32 id) OMAP_ABE_S_VX_DL_8_48_LP_DATA_ADDR, OMAP_ABE_S_VX_DL_8_48_LP_DATA_SIZE); omap_abe_reset_mem(abe, OMAP_ABE_SMEM, + OMAP_ABE_S_VX_DL_8_48_OSR_LP_DATA_ADDR, + OMAP_ABE_S_VX_DL_8_48_OSR_LP_DATA_SIZE); + omap_abe_reset_mem(abe, OMAP_ABE_SMEM, OMAP_ABE_S_VX_DL_16_48_HP_DATA_ADDR, OMAP_ABE_S_VX_DL_16_48_HP_DATA_SIZE); omap_abe_reset_mem(abe, OMAP_ABE_SMEM, @@ -254,18 +257,6 @@ void omap_abe_clean_temporary_buffers(struct omap_abe *abe, u32 id) omap_abe_reset_mem(abe, OMAP_ABE_SMEM, OMAP_ABE_S_IHF_48_96_LP_DATA_ADDR, OMAP_ABE_S_IHF_48_96_LP_DATA_SIZE); - omap_abe_reset_mem(abe, OMAP_ABE_SMEM, - OMAP_ABE_S_APS_DL1_EQ_DATA_ADDR, - OMAP_ABE_S_APS_DL1_EQ_DATA_SIZE); - omap_abe_reset_mem(abe, OMAP_ABE_SMEM, - OMAP_ABE_S_APS_DL2_EQ_DATA_ADDR, - OMAP_ABE_S_APS_DL2_EQ_DATA_SIZE); - omap_abe_reset_mem(abe, OMAP_ABE_SMEM, - OMAP_ABE_S_APS_DL2_L_IIRMEM1_ADDR, - OMAP_ABE_S_APS_DL2_L_IIRMEM1_SIZE); - omap_abe_reset_mem(abe, OMAP_ABE_SMEM, - OMAP_ABE_S_APS_DL2_R_IIRMEM1_ADDR, - OMAP_ABE_S_APS_DL2_R_IIRMEM1_SIZE); omap_abe_reset_gain_mixer(abe, GAINS_DL1, GAIN_LEFT_OFFSET); omap_abe_reset_gain_mixer(abe, GAINS_DL1, GAIN_RIGHT_OFFSET); omap_abe_reset_gain_mixer(abe, GAINS_DL2, GAIN_LEFT_OFFSET); @@ -323,9 +314,10 @@ void omap_abe_disable_enable_dma_request(struct omap_abe *abe, u32 id, sio_desc_address, (u32 *) &sio_desc, sizeof(sio_desc)); if (on_off) { - sio_desc.atc_irq_data = - (u8) abe_port[id].protocol.p.prot_dmareq. - dma_data; + if (abe_port[id].protocol.protocol_switch != SERIAL_PORT_PROT) + sio_desc.atc_irq_data = + (u8) abe_port[id].protocol.p.prot_dmareq. + dma_data; sio_desc.on_off = 0x80; } else { sio_desc.atc_irq_data = 0; @@ -639,13 +631,26 @@ int omap_abe_enable_data_transfer(struct omap_abe *abe, u32 id) abe_init_io_tasks(OMAP_ABE_DMIC_PORT, &format, protocol); } if (id == OMAP_ABE_VX_UL_PORT) { - /* Init VX_UL ASRC and enable its adaptation */ - abe_init_asrc_vx_ul(250); + if (abe_port[OMAP_ABE_VX_DL_PORT].status == OMAP_ABE_PORT_ACTIVITY_RUNNING) { + /* VX_DL port already started, hence no need to + initialize ASRC */ + } else { + /* Init VX_UL ASRC & VX_DL ASRC and enable its adaptation */ + abe_init_asrc_vx_ul(-250); + abe_init_asrc_vx_dl(250); + } } if (id == OMAP_ABE_VX_DL_PORT) { - /* Init VX_DL ASRC and enable its adaptation */ - abe_init_asrc_vx_dl(250); + if (abe_port[OMAP_ABE_VX_UL_PORT].status == OMAP_ABE_PORT_ACTIVITY_RUNNING) { + /* VX_UL port already started, hence no need to + initialize ASRC */ + } else { + /* Init VX_UL ASRC & VX_DL ASRC and enable its adaptation */ + abe_init_asrc_vx_ul(-250); + abe_init_asrc_vx_dl(250); + } } + /* local host variable status= "port is running" */ abe_port[id].status = OMAP_ABE_PORT_ACTIVITY_RUNNING; /* enable DMA requests */ @@ -681,12 +686,14 @@ int omap_abe_connect_cbpr_dmareq_port(struct omap_abe *abe, abe_port[id].protocol.p.prot_dmareq.iter = abe_dma_port_iteration(f); abe_port[id].protocol.p.prot_dmareq.dma_addr = ABE_DMASTATUS_RAW; abe_port[id].protocol.p.prot_dmareq.dma_data = (1 << d); - abe_port[id].status = OMAP_ABE_PORT_INITIALIZED; /* load the dma_t with physical information from AE memory mapping */ abe_init_dma_t(id, &((abe_port[id]).protocol)); + /* load the micro-task parameters */ abe_init_io_tasks(id, &((abe_port[id]).format), &((abe_port[id]).protocol)); + abe_port[id].status = OMAP_ABE_PORT_INITIALIZED; + /* load the ATC descriptors - disabled */ omap_abe_init_atc(abe, id); /* return the dma pointer address */ @@ -772,10 +779,12 @@ int omap_abe_connect_serial_port(struct omap_abe *abe, /* check the iteration of ATC */ (abe_port[id]).protocol.p.prot_serial.iter = abe_dma_port_iter_factor(f); - abe_port[id].status = OMAP_ABE_PORT_INITIALIZED; + /* load the micro-task parameters */ abe_init_io_tasks(id, &((abe_port[id]).format), &((abe_port[id]).protocol)); + abe_port[id].status = OMAP_ABE_PORT_INITIALIZED; + /* load the ATC descriptors - disabled */ omap_abe_init_atc(abe, id); @@ -1105,46 +1114,92 @@ void abe_init_io_tasks(u32 id, abe_data_format_t *format, case OMAP_ABE_VX_DL_PORT: /* check for 8kHz/16kHz */ if (abe_port[id].format.f == 8000) { - abe->MultiFrame[TASK_ASRC_VX_DL_SLT] - [TASK_ASRC_VX_DL_IDX] = - ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_8); abe->MultiFrame[TASK_VX_DL_SLT][TASK_VX_DL_IDX] = - ABE_TASK_ID(C_ABE_FW_TASK_VX_DL_8_48); + ABE_TASK_ID(C_ABE_FW_TASK_VX_DL_8_48_FIR); /*Voice_8k_DL_labelID */ smem1 = IO_VX_DL_ASRC_labelID; + + if ((abe_port[OMAP_ABE_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is VX_DL_PORT + * both VX_UL ASRC and VX_DL ASRC will add/remove sample + * referring to VX_DL flow_counter */ + abe->MultiFrame[TASK_ASRC_VX_DL_SLT][TASK_ASRC_VX_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_8); + abe->MultiFrame[TASK_ASRC_VX_UL_SLT][TASK_ASRC_VX_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_8_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } else { - abe->MultiFrame[TASK_ASRC_VX_DL_SLT] - [TASK_ASRC_VX_DL_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_ASRC_VX_DL_16); abe->MultiFrame[TASK_VX_DL_SLT][TASK_VX_DL_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_VX_DL_16_48); /* Voice_16k_DL_labelID */ smem1 = IO_VX_DL_ASRC_labelID; + + if ((abe_port[OMAP_ABE_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is VX_DL_PORT + * both VX_UL ASRC and VX_DL ASRC will add/remove sample + * referring to VX_DL flow_counter */ + abe->MultiFrame[TASK_ASRC_VX_DL_SLT][TASK_ASRC_VX_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_16); + abe->MultiFrame[TASK_ASRC_VX_UL_SLT][TASK_ASRC_VX_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_16_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } - abe->MultiFrame[0][2] = ABE_TASK_ID(C_ABE_FW_TASK_IO_VX_DL); + abe->MultiFrame[0][2] = ABE_TASK_ID(C_ABE_FW_TASK_IO_VX_DL); break; case OMAP_ABE_VX_UL_PORT: /* check for 8kHz/16kHz */ if (abe_port[id].format.f == 8000) { - abe->MultiFrame[TASK_ASRC_VX_UL_SLT] - [TASK_ASRC_VX_UL_IDX] = - ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_8); abe->MultiFrame[TASK_VX_UL_SLT][TASK_VX_UL_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_VX_UL_48_8); /* MultiFrame[TASK_ECHO_SLT][TASK_ECHO_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_ECHO_REF_48_8); */ smem1 = Voice_8k_UL_labelID; + + if ((abe_port[OMAP_ABE_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is VX_UL_PORT + * both VX_UL ASRC and VX_DL ASRC will add/remove sample + * referring to VX_UL flow_counter */ + abe->MultiFrame[TASK_ASRC_VX_DL_SLT][TASK_ASRC_VX_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_8_SIB); + abe->MultiFrame[TASK_ASRC_VX_UL_SLT][TASK_ASRC_VX_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_8); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } else { - abe->MultiFrame[TASK_ASRC_VX_UL_SLT] - [TASK_ASRC_VX_UL_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_ASRC_VX_UL_16); abe->MultiFrame[TASK_VX_UL_SLT][TASK_VX_UL_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_VX_UL_48_16); /* MultiFrame[TASK_ECHO_SLT][TASK_ECHO_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_ECHO_REF_48_16); */ smem1 = Voice_16k_UL_labelID; + + if ((abe_port[OMAP_ABE_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is VX_UL_PORT + * both VX_UL ASRC and VX_DL ASRC will add/remove sample + * referring to VX_UL flow_counter */ + abe->MultiFrame[TASK_ASRC_VX_DL_SLT][TASK_ASRC_VX_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_DL_16_SIB); + abe->MultiFrame[TASK_ASRC_VX_UL_SLT][TASK_ASRC_VX_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_VX_UL_16); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } abe->MultiFrame[16][3] = ABE_TASK_ID(C_ABE_FW_TASK_IO_VX_UL); break; @@ -1153,41 +1208,55 @@ void abe_init_io_tasks(u32 id, abe_data_format_t *format, omap_abe_mem_read(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MAXTASKBYTESINSLOT_ADDR, &dOppMode32, sizeof(u32)); + if (abe_port[id].format.f == 8000) { - abe->MultiFrame[TASK_ASRC_BT_DL_SLT] - [TASK_ASRC_BT_DL_IDX] = - ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_8); if (dOppMode32 == DOPPMODE32_OPP100) { - abe->MultiFrame[TASK_BT_DL_48_8_SLT] - [TASK_BT_DL_48_8_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_BT_DL_48_8_OPP100); + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_8_OPP100); smem1 = BT_DL_8k_opp100_labelID; } else { - abe->MultiFrame[TASK_BT_DL_48_8_SLT] - [TASK_BT_DL_48_8_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_BT_DL_48_8); + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_8); smem1 = BT_DL_8k_labelID; } + if ((abe_port[OMAP_ABE_BT_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_BT_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is BT_VX_DL_PORT + * both BT_VX_DL ASRC and BT_VX_UL ASRC will add/remove sample + * referring to BT_VX_DL flow_counter */ + abe->MultiFrame[TASK_ASRC_BT_DL_SLT][TASK_ASRC_BT_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_8); + abe->MultiFrame[TASK_ASRC_BT_UL_SLT][TASK_ASRC_BT_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_8_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } else { - abe->MultiFrame[TASK_ASRC_BT_DL_SLT] - [TASK_ASRC_BT_DL_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_ASRC_BT_DL_16); if (dOppMode32 == DOPPMODE32_OPP100) { - abe->MultiFrame[TASK_BT_DL_48_8_SLT] - [TASK_BT_DL_48_8_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_BT_DL_48_16_OPP100); + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_16_OPP100); smem1 = BT_DL_16k_opp100_labelID; } else { - abe->MultiFrame[TASK_BT_DL_48_8_SLT] - [TASK_BT_DL_48_8_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_BT_DL_48_16); + abe->MultiFrame[TASK_BT_DL_48_8_SLT][TASK_BT_DL_48_8_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_BT_DL_48_16); smem1 = BT_DL_16k_labelID; } + if ((abe_port[OMAP_ABE_BT_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_BT_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is BT_VX_DL_PORT + * both BT_VX_DL ASRC and BT_VX_UL ASRC will add/remove sample + * referring to BT_VX_DL flow_counter */ + abe->MultiFrame[TASK_ASRC_BT_DL_SLT][TASK_ASRC_BT_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_16); + abe->MultiFrame[TASK_ASRC_BT_UL_SLT][TASK_ASRC_BT_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_16_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } abe->MultiFrame[13][5] = ABE_TASK_ID(C_ABE_FW_TASK_IO_BT_VX_DL); break; @@ -1197,12 +1266,9 @@ void abe_init_io_tasks(u32 id, abe_data_format_t *format, omap_abe_mem_read(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MAXTASKBYTESINSLOT_ADDR, &dOppMode32, sizeof(u32)); + if (abe_port[id].format.f == 8000) { - abe->MultiFrame[TASK_ASRC_BT_UL_SLT] - [TASK_ASRC_BT_UL_IDX] = - ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_8); - abe->MultiFrame[TASK_BT_UL_8_48_SLT] - [TASK_BT_UL_8_48_IDX] = + abe->MultiFrame[TASK_BT_UL_8_48_SLT][TASK_BT_UL_8_48_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_BT_UL_8_48); if (dOppMode32 == DOPPMODE32_OPP100) /* ASRC input buffer, size 40 */ @@ -1210,13 +1276,22 @@ void abe_init_io_tasks(u32 id, abe_data_format_t *format, else /* at OPP 50 without ASRC */ smem1 = BT_UL_8k_labelID; + if ((abe_port[OMAP_ABE_BT_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_BT_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is BT_VX_UL_PORT */ + /* both BT_VX_UL ASRC and BT_VX_DL ASRC will add/remove sample + referring to BT_VX_UL flow_counter */ + abe->MultiFrame[TASK_ASRC_BT_UL_SLT][TASK_ASRC_BT_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_8); + abe->MultiFrame[TASK_ASRC_BT_DL_SLT][TASK_ASRC_BT_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_8_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } else { - abe->MultiFrame[TASK_ASRC_BT_UL_SLT] - [TASK_ASRC_BT_UL_IDX] = - ABE_TASK_ID - (C_ABE_FW_TASK_ASRC_BT_UL_16); - abe->MultiFrame[TASK_BT_UL_8_48_SLT] - [TASK_BT_UL_8_48_IDX] = + abe->MultiFrame[TASK_BT_UL_8_48_SLT][TASK_BT_UL_8_48_IDX] = ABE_TASK_ID(C_ABE_FW_TASK_BT_UL_16_48); if (dOppMode32 == DOPPMODE32_OPP100) /* ASRC input buffer, size 40 */ @@ -1224,6 +1299,20 @@ void abe_init_io_tasks(u32 id, abe_data_format_t *format, else /* at OPP 50 without ASRC */ smem1 = BT_UL_16k_labelID; + if ((abe_port[OMAP_ABE_BT_VX_UL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE) && + (abe_port[OMAP_ABE_BT_VX_DL_PORT].status == + OMAP_ABE_PORT_ACTIVITY_IDLE)) { + /* the 1st opened port is BT_VX_UL_PORT */ + /* both BT_VX_UL ASRC and BT_VX_DL ASRC will add/remove sample + referring to BT_VX_UL flow_counter */ + abe->MultiFrame[TASK_ASRC_BT_UL_SLT][TASK_ASRC_BT_UL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_UL_16); + abe->MultiFrame[TASK_ASRC_BT_DL_SLT][TASK_ASRC_BT_DL_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_ASRC_BT_DL_16_SIB); + } else { + /* Do nothing, Scheduling Table has already been patched */ + } } abe->MultiFrame[15][3] = ABE_TASK_ID(C_ABE_FW_TASK_IO_BT_VX_UL); break; @@ -1579,3 +1668,79 @@ abehal_status abe_read_remaining_data(u32 port, u32 *n) return 0; } EXPORT_SYMBOL(abe_read_remaining_data); + +/** + * omap_abe_mono_mixer + * @id: name of the mixer (MIXDL1, MIXDL2 or MIXAUDUL) + * on_off: enable\disable flag + * + * This API Programs DL1Mixer or DL2Mixer to output mono data + * on both left and right data paths. + */ +int omap_abe_mono_mixer(struct omap_abe *abe, u32 id, u32 on_off) +{ + switch (id) { + case MIXDL1: + if (on_off) + abe->MultiFrame[TASK_DL1Mixer_SLT][TASK_DL1Mixer_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_DL1Mixer_dual_mono); + else + abe->MultiFrame[TASK_DL1Mixer_SLT][TASK_DL1Mixer_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_DL1Mixer); + break; + case MIXDL2: + if (on_off) + abe->MultiFrame[TASK_DL2Mixer_SLT][TASK_DL2Mixer_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_DL2Mixer_dual_mono); + else + abe->MultiFrame[TASK_DL2Mixer_SLT][TASK_DL2Mixer_IDX] = + ABE_TASK_ID(C_ABE_FW_TASK_DL2Mixer); + break; + case MIXAUDUL: + if (on_off) + abe->MultiFrame[12][4] = + ABE_TASK_ID(C_ABE_FW_TASK_ULMixer_dual_mono); + else + abe->MultiFrame[12][4] = + ABE_TASK_ID(C_ABE_FW_TASK_ULMixer); + break; + default: + break; + } + + omap_abe_mem_write(abe, OMAP_ABE_DMEM, OMAP_ABE_D_MULTIFRAME_ADDR, + (u32 *) abe->MultiFrame, sizeof(abe->MultiFrame)); + + return 0; +} +EXPORT_SYMBOL(omap_abe_mono_mixer); +/** + * abe_write_pdmdl_offset - write the desired offset on the DL1/DL2 paths + * + * Parameters: + * path: 1 for the DL1 ABE path, 2 for the DL2 ABE path + * offset_left: integer value that will be added on all PDM left samples + * offset_right: integer value that will be added on all PDM right samples + * + */ +void abe_write_pdmdl_offset(u32 path, u32 offset_left, u32 offset_right) +{ + switch (path) { + case 1: + omap_abe_mem_write(abe, OMAP_ABE_SMEM, OMAP_ABE_S_DC_HS_ADDR + 4, + &offset_left, sizeof(u32)); + omap_abe_mem_write(abe, OMAP_ABE_SMEM, OMAP_ABE_S_DC_HS_ADDR, + &offset_right, sizeof(u32)); + break; + case 2: + omap_abe_mem_write(abe, OMAP_ABE_SMEM, OMAP_ABE_S_DC_HF_ADDR + 4, + &offset_left, sizeof(u32)); + omap_abe_mem_write(abe, OMAP_ABE_SMEM, OMAP_ABE_S_DC_HF_ADDR, + &offset_right, sizeof(u32)); + break; + default: + break; + } +} +EXPORT_SYMBOL(abe_write_pdmdl_offset); + diff --git a/sound/soc/omap/abe/abe_sm_addr.h b/sound/soc/omap/abe/abe_sm_addr.h index ad2295f..a9e28ac 100644 --- a/sound/soc/omap/abe/abe_sm_addr.h +++ b/sound/soc/omap/abe/abe_sm_addr.h @@ -1,537 +1,353 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - -#define OMAP_ABE_INIT_SM_ADDR 0x0 -#define OMAP_ABE_INIT_SM_SIZE 0x9B8 - -#define OMAP_ABE_S_DATA0_ADDR 0x9B8 -#define OMAP_ABE_S_DATA0_SIZE 0x8 - -#define OMAP_ABE_S_TEMP_ADDR 0x9C0 -#define OMAP_ABE_S_TEMP_SIZE 0x8 - -#define OMAP_ABE_S_PHOENIXOFFSET_ADDR 0x9C8 -#define OMAP_ABE_S_PHOENIXOFFSET_SIZE 0x8 - -#define OMAP_ABE_S_GTARGET1_ADDR 0x9D0 -#define OMAP_ABE_S_GTARGET1_SIZE 0x38 - -#define OMAP_ABE_S_GTARGET_DL1_ADDR 0xA08 -#define OMAP_ABE_S_GTARGET_DL1_SIZE 0x10 - -#define OMAP_ABE_S_GTARGET_DL2_ADDR 0xA18 -#define OMAP_ABE_S_GTARGET_DL2_SIZE 0x10 - -#define OMAP_ABE_S_GTARGET_ECHO_ADDR 0xA28 -#define OMAP_ABE_S_GTARGET_ECHO_SIZE 0x8 - -#define OMAP_ABE_S_GTARGET_SDT_ADDR 0xA30 -#define OMAP_ABE_S_GTARGET_SDT_SIZE 0x8 - -#define OMAP_ABE_S_GTARGET_VXREC_ADDR 0xA38 -#define OMAP_ABE_S_GTARGET_VXREC_SIZE 0x10 - -#define OMAP_ABE_S_GTARGET_UL_ADDR 0xA48 -#define OMAP_ABE_S_GTARGET_UL_SIZE 0x10 - -#define OMAP_ABE_S_GTARGET_BTUL_ADDR 0xA58 -#define OMAP_ABE_S_GTARGET_BTUL_SIZE 0x8 - -#define OMAP_ABE_S_GCURRENT_ADDR 0xA60 -#define OMAP_ABE_S_GCURRENT_SIZE 0x90 - -#define OMAP_ABE_S_GAIN_ONE_ADDR 0xAF0 -#define OMAP_ABE_S_GAIN_ONE_SIZE 0x8 - -#define OMAP_ABE_S_TONES_ADDR 0xAF8 -#define OMAP_ABE_S_TONES_SIZE 0x60 - -#define OMAP_ABE_S_VX_DL_ADDR 0xB58 -#define OMAP_ABE_S_VX_DL_SIZE 0x60 - -#define OMAP_ABE_S_MM_UL2_ADDR 0xBB8 -#define OMAP_ABE_S_MM_UL2_SIZE 0x60 - -#define OMAP_ABE_S_MM_DL_ADDR 0xC18 -#define OMAP_ABE_S_MM_DL_SIZE 0x60 - -#define OMAP_ABE_S_DL1_M_OUT_ADDR 0xC78 -#define OMAP_ABE_S_DL1_M_OUT_SIZE 0x60 - -#define OMAP_ABE_S_DL2_M_OUT_ADDR 0xCD8 -#define OMAP_ABE_S_DL2_M_OUT_SIZE 0x60 - -#define OMAP_ABE_S_ECHO_M_OUT_ADDR 0xD38 -#define OMAP_ABE_S_ECHO_M_OUT_SIZE 0x60 - -#define OMAP_ABE_S_SDT_M_OUT_ADDR 0xD98 -#define OMAP_ABE_S_SDT_M_OUT_SIZE 0x60 - -#define OMAP_ABE_S_VX_UL_ADDR 0xDF8 -#define OMAP_ABE_S_VX_UL_SIZE 0x60 - -#define OMAP_ABE_S_VX_UL_M_ADDR 0xE58 -#define OMAP_ABE_S_VX_UL_M_SIZE 0x60 - -#define OMAP_ABE_S_BT_DL_ADDR 0xEB8 -#define OMAP_ABE_S_BT_DL_SIZE 0x60 - -#define OMAP_ABE_S_BT_UL_ADDR 0xF18 -#define OMAP_ABE_S_BT_UL_SIZE 0x60 - -#define OMAP_ABE_S_BT_DL_8K_ADDR 0xF78 -#define OMAP_ABE_S_BT_DL_8K_SIZE 0x18 - -#define OMAP_ABE_S_BT_DL_16K_ADDR 0xF90 -#define OMAP_ABE_S_BT_DL_16K_SIZE 0x28 - -#define OMAP_ABE_S_BT_UL_8K_ADDR 0xFB8 -#define OMAP_ABE_S_BT_UL_8K_SIZE 0x10 - -#define OMAP_ABE_S_BT_UL_16K_ADDR 0xFC8 -#define OMAP_ABE_S_BT_UL_16K_SIZE 0x20 - -#define OMAP_ABE_S_SDT_F_ADDR 0xFE8 -#define OMAP_ABE_S_SDT_F_SIZE 0x60 - -#define OMAP_ABE_S_SDT_F_DATA_ADDR 0x1048 -#define OMAP_ABE_S_SDT_F_DATA_SIZE 0x48 - -#define OMAP_ABE_S_MM_DL_OSR_ADDR 0x1090 -#define OMAP_ABE_S_MM_DL_OSR_SIZE 0xC0 - -#define OMAP_ABE_S_24_ZEROS_ADDR 0x1150 -#define OMAP_ABE_S_24_ZEROS_SIZE 0xC0 - -#define OMAP_ABE_S_DMIC1_ADDR 0x1210 -#define OMAP_ABE_S_DMIC1_SIZE 0x60 - -#define OMAP_ABE_S_DMIC2_ADDR 0x1270 -#define OMAP_ABE_S_DMIC2_SIZE 0x60 - -#define OMAP_ABE_S_DMIC3_ADDR 0x12D0 -#define OMAP_ABE_S_DMIC3_SIZE 0x60 - -#define OMAP_ABE_S_AMIC_ADDR 0x1330 -#define OMAP_ABE_S_AMIC_SIZE 0x60 - -#define OMAP_ABE_S_DMIC1_L_ADDR 0x1390 -#define OMAP_ABE_S_DMIC1_L_SIZE 0x60 - -#define OMAP_ABE_S_DMIC1_R_ADDR 0x13F0 -#define OMAP_ABE_S_DMIC1_R_SIZE 0x60 - -#define OMAP_ABE_S_DMIC2_L_ADDR 0x1450 -#define OMAP_ABE_S_DMIC2_L_SIZE 0x60 - -#define OMAP_ABE_S_DMIC2_R_ADDR 0x14B0 -#define OMAP_ABE_S_DMIC2_R_SIZE 0x60 - -#define OMAP_ABE_S_DMIC3_L_ADDR 0x1510 -#define OMAP_ABE_S_DMIC3_L_SIZE 0x60 - -#define OMAP_ABE_S_DMIC3_R_ADDR 0x1570 -#define OMAP_ABE_S_DMIC3_R_SIZE 0x60 - -#define OMAP_ABE_S_BT_UL_L_ADDR 0x15D0 -#define OMAP_ABE_S_BT_UL_L_SIZE 0x60 - -#define OMAP_ABE_S_BT_UL_R_ADDR 0x1630 -#define OMAP_ABE_S_BT_UL_R_SIZE 0x60 - -#define OMAP_ABE_S_AMIC_L_ADDR 0x1690 -#define OMAP_ABE_S_AMIC_L_SIZE 0x60 - -#define OMAP_ABE_S_AMIC_R_ADDR 0x16F0 -#define OMAP_ABE_S_AMIC_R_SIZE 0x60 - -#define OMAP_ABE_S_ECHOREF_L_ADDR 0x1750 -#define OMAP_ABE_S_ECHOREF_L_SIZE 0x60 - -#define OMAP_ABE_S_ECHOREF_R_ADDR 0x17B0 -#define OMAP_ABE_S_ECHOREF_R_SIZE 0x60 - -#define OMAP_ABE_S_MM_DL_L_ADDR 0x1810 -#define OMAP_ABE_S_MM_DL_L_SIZE 0x60 - -#define OMAP_ABE_S_MM_DL_R_ADDR 0x1870 -#define OMAP_ABE_S_MM_DL_R_SIZE 0x60 - -#define OMAP_ABE_S_MM_UL_ADDR 0x18D0 -#define OMAP_ABE_S_MM_UL_SIZE 0x3C0 - -#define OMAP_ABE_S_AMIC_96K_ADDR 0x1C90 -#define OMAP_ABE_S_AMIC_96K_SIZE 0xC0 - -#define OMAP_ABE_S_DMIC0_96K_ADDR 0x1D50 -#define OMAP_ABE_S_DMIC0_96K_SIZE 0xC0 - -#define OMAP_ABE_S_DMIC1_96K_ADDR 0x1E10 -#define OMAP_ABE_S_DMIC1_96K_SIZE 0xC0 - -#define OMAP_ABE_S_DMIC2_96K_ADDR 0x1ED0 -#define OMAP_ABE_S_DMIC2_96K_SIZE 0xC0 - -#define OMAP_ABE_S_UL_VX_UL_48_8K_ADDR 0x1F90 -#define OMAP_ABE_S_UL_VX_UL_48_8K_SIZE 0x60 - -#define OMAP_ABE_S_UL_VX_UL_48_16K_ADDR 0x1FF0 -#define OMAP_ABE_S_UL_VX_UL_48_16K_SIZE 0x60 - -#define OMAP_ABE_S_UL_MIC_48K_ADDR 0x2050 -#define OMAP_ABE_S_UL_MIC_48K_SIZE 0x60 - -#define OMAP_ABE_S_VOICE_8K_UL_ADDR 0x20B0 -#define OMAP_ABE_S_VOICE_8K_UL_SIZE 0x18 - -#define OMAP_ABE_S_VOICE_8K_DL_ADDR 0x20C8 -#define OMAP_ABE_S_VOICE_8K_DL_SIZE 0x10 - -#define OMAP_ABE_S_MCPDM_OUT1_ADDR 0x20D8 -#define OMAP_ABE_S_MCPDM_OUT1_SIZE 0xC0 - -#define OMAP_ABE_S_MCPDM_OUT2_ADDR 0x2198 -#define OMAP_ABE_S_MCPDM_OUT2_SIZE 0xC0 - -#define OMAP_ABE_S_MCPDM_OUT3_ADDR 0x2258 -#define OMAP_ABE_S_MCPDM_OUT3_SIZE 0xC0 - -#define OMAP_ABE_S_VOICE_16K_UL_ADDR 0x2318 -#define OMAP_ABE_S_VOICE_16K_UL_SIZE 0x28 - -#define OMAP_ABE_S_VOICE_16K_DL_ADDR 0x2340 -#define OMAP_ABE_S_VOICE_16K_DL_SIZE 0x20 - -#define OMAP_ABE_S_XINASRC_DL_VX_ADDR 0x2360 -#define OMAP_ABE_S_XINASRC_DL_VX_SIZE 0x140 - -#define OMAP_ABE_S_XINASRC_UL_VX_ADDR 0x24A0 -#define OMAP_ABE_S_XINASRC_UL_VX_SIZE 0x140 - -#define OMAP_ABE_S_XINASRC_MM_EXT_IN_ADDR 0x25E0 -#define OMAP_ABE_S_XINASRC_MM_EXT_IN_SIZE 0x140 - -#define OMAP_ABE_S_VX_REC_ADDR 0x2720 -#define OMAP_ABE_S_VX_REC_SIZE 0x60 - -#define OMAP_ABE_S_VX_REC_L_ADDR 0x2780 -#define OMAP_ABE_S_VX_REC_L_SIZE 0x60 - -#define OMAP_ABE_S_VX_REC_R_ADDR 0x27E0 -#define OMAP_ABE_S_VX_REC_R_SIZE 0x60 - -#define OMAP_ABE_S_DL2_M_L_ADDR 0x2840 -#define OMAP_ABE_S_DL2_M_L_SIZE 0x60 - -#define OMAP_ABE_S_DL2_M_R_ADDR 0x28A0 -#define OMAP_ABE_S_DL2_M_R_SIZE 0x60 - -#define OMAP_ABE_S_DL2_M_LR_EQ_DATA_ADDR 0x2900 -#define OMAP_ABE_S_DL2_M_LR_EQ_DATA_SIZE 0xC8 - -#define OMAP_ABE_S_DL1_M_EQ_DATA_ADDR 0x29C8 -#define OMAP_ABE_S_DL1_M_EQ_DATA_SIZE 0xC8 - -#define OMAP_ABE_S_EARP_48_96_LP_DATA_ADDR 0x2A90 -#define OMAP_ABE_S_EARP_48_96_LP_DATA_SIZE 0x78 - -#define OMAP_ABE_S_IHF_48_96_LP_DATA_ADDR 0x2B08 -#define OMAP_ABE_S_IHF_48_96_LP_DATA_SIZE 0x78 - -#define OMAP_ABE_S_VX_UL_8_TEMP_ADDR 0x2B80 -#define OMAP_ABE_S_VX_UL_8_TEMP_SIZE 0x10 - -#define OMAP_ABE_S_VX_UL_16_TEMP_ADDR 0x2B90 -#define OMAP_ABE_S_VX_UL_16_TEMP_SIZE 0x20 - -#define OMAP_ABE_S_VX_DL_8_48_LP_DATA_ADDR 0x2BB0 -#define OMAP_ABE_S_VX_DL_8_48_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_VX_DL_8_48_HP_DATA_ADDR 0x2C08 -#define OMAP_ABE_S_VX_DL_8_48_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_VX_DL_16_48_LP_DATA_ADDR 0x2C40 -#define OMAP_ABE_S_VX_DL_16_48_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_VX_DL_16_48_HP_DATA_ADDR 0x2C98 -#define OMAP_ABE_S_VX_DL_16_48_HP_DATA_SIZE 0x28 - -#define OMAP_ABE_S_VX_UL_48_8_LP_DATA_ADDR 0x2CC0 -#define OMAP_ABE_S_VX_UL_48_8_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_VX_UL_48_8_HP_DATA_ADDR 0x2D18 -#define OMAP_ABE_S_VX_UL_48_8_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_VX_UL_48_16_LP_DATA_ADDR 0x2D50 -#define OMAP_ABE_S_VX_UL_48_16_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_VX_UL_48_16_HP_DATA_ADDR 0x2DA8 -#define OMAP_ABE_S_VX_UL_48_16_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_BT_UL_8_48_LP_DATA_ADDR 0x2DE0 -#define OMAP_ABE_S_BT_UL_8_48_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_BT_UL_8_48_HP_DATA_ADDR 0x2E38 -#define OMAP_ABE_S_BT_UL_8_48_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_BT_UL_16_48_LP_DATA_ADDR 0x2E70 -#define OMAP_ABE_S_BT_UL_16_48_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_BT_UL_16_48_HP_DATA_ADDR 0x2EC8 -#define OMAP_ABE_S_BT_UL_16_48_HP_DATA_SIZE 0x28 - -#define OMAP_ABE_S_BT_DL_48_8_LP_DATA_ADDR 0x2EF0 -#define OMAP_ABE_S_BT_DL_48_8_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_BT_DL_48_8_HP_DATA_ADDR 0x2F48 -#define OMAP_ABE_S_BT_DL_48_8_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_BT_DL_48_16_LP_DATA_ADDR 0x2F80 -#define OMAP_ABE_S_BT_DL_48_16_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_BT_DL_48_16_HP_DATA_ADDR 0x2FD8 -#define OMAP_ABE_S_BT_DL_48_16_HP_DATA_SIZE 0x28 - -#define OMAP_ABE_S_ECHO_REF_48_8_LP_DATA_ADDR 0x3000 -#define OMAP_ABE_S_ECHO_REF_48_8_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_ECHO_REF_48_8_HP_DATA_ADDR 0x3058 -#define OMAP_ABE_S_ECHO_REF_48_8_HP_DATA_SIZE 0x38 - -#define OMAP_ABE_S_ECHO_REF_48_16_LP_DATA_ADDR 0x3090 -#define OMAP_ABE_S_ECHO_REF_48_16_LP_DATA_SIZE 0x58 - -#define OMAP_ABE_S_ECHO_REF_48_16_HP_DATA_ADDR 0x30E8 -#define OMAP_ABE_S_ECHO_REF_48_16_HP_DATA_SIZE 0x28 - -#define OMAP_ABE_S_APS_IIRMEM1_ADDR 0x3110 -#define OMAP_ABE_S_APS_IIRMEM1_SIZE 0x48 - -#define OMAP_ABE_S_APS_M_IIRMEM2_ADDR 0x3158 -#define OMAP_ABE_S_APS_M_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_APS_C_IIRMEM2_ADDR 0x3170 -#define OMAP_ABE_S_APS_C_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_APS_DL1_OUTSAMPLES_ADDR 0x3188 -#define OMAP_ABE_S_APS_DL1_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_APS_DL1_COIL_OUTSAMPLES_ADDR 0x3198 -#define OMAP_ABE_S_APS_DL1_COIL_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_APS_DL2_L_OUTSAMPLES_ADDR 0x31A8 -#define OMAP_ABE_S_APS_DL2_L_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_APS_DL2_L_COIL_OUTSAMPLES_ADDR 0x31B8 -#define OMAP_ABE_S_APS_DL2_L_COIL_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_APS_DL2_R_OUTSAMPLES_ADDR 0x31C8 -#define OMAP_ABE_S_APS_DL2_R_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_APS_DL2_R_COIL_OUTSAMPLES_ADDR 0x31D8 -#define OMAP_ABE_S_APS_DL2_R_COIL_OUTSAMPLES_SIZE 0x10 - -#define OMAP_ABE_S_XINASRC_ECHO_REF_ADDR 0x31E8 -#define OMAP_ABE_S_XINASRC_ECHO_REF_SIZE 0x140 - -#define OMAP_ABE_S_ECHO_REF_16K_ADDR 0x3328 -#define OMAP_ABE_S_ECHO_REF_16K_SIZE 0x28 - -#define OMAP_ABE_S_ECHO_REF_8K_ADDR 0x3350 -#define OMAP_ABE_S_ECHO_REF_8K_SIZE 0x18 - -#define OMAP_ABE_S_DL1_EQ_ADDR 0x3368 -#define OMAP_ABE_S_DL1_EQ_SIZE 0x60 - -#define OMAP_ABE_S_DL2_EQ_ADDR 0x33C8 -#define OMAP_ABE_S_DL2_EQ_SIZE 0x60 - -#define OMAP_ABE_S_DL1_GAIN_OUT_ADDR 0x3428 -#define OMAP_ABE_S_DL1_GAIN_OUT_SIZE 0x60 - -#define OMAP_ABE_S_DL2_GAIN_OUT_ADDR 0x3488 -#define OMAP_ABE_S_DL2_GAIN_OUT_SIZE 0x60 - -#define OMAP_ABE_S_APS_DL2_L_IIRMEM1_ADDR 0x34E8 -#define OMAP_ABE_S_APS_DL2_L_IIRMEM1_SIZE 0x48 - -#define OMAP_ABE_S_APS_DL2_R_IIRMEM1_ADDR 0x3530 -#define OMAP_ABE_S_APS_DL2_R_IIRMEM1_SIZE 0x48 - -#define OMAP_ABE_S_APS_DL2_L_M_IIRMEM2_ADDR 0x3578 -#define OMAP_ABE_S_APS_DL2_L_M_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_APS_DL2_R_M_IIRMEM2_ADDR 0x3590 -#define OMAP_ABE_S_APS_DL2_R_M_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_APS_DL2_L_C_IIRMEM2_ADDR 0x35A8 -#define OMAP_ABE_S_APS_DL2_L_C_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_APS_DL2_R_C_IIRMEM2_ADDR 0x35C0 -#define OMAP_ABE_S_APS_DL2_R_C_IIRMEM2_SIZE 0x18 - -#define OMAP_ABE_S_DL1_APS_ADDR 0x35D8 -#define OMAP_ABE_S_DL1_APS_SIZE 0x60 - -#define OMAP_ABE_S_DL2_L_APS_ADDR 0x3638 -#define OMAP_ABE_S_DL2_L_APS_SIZE 0x60 - -#define OMAP_ABE_S_DL2_R_APS_ADDR 0x3698 -#define OMAP_ABE_S_DL2_R_APS_SIZE 0x60 - -#define OMAP_ABE_S_APS_DL1_EQ_DATA_ADDR 0x36F8 -#define OMAP_ABE_S_APS_DL1_EQ_DATA_SIZE 0x48 - -#define OMAP_ABE_S_APS_DL2_EQ_DATA_ADDR 0x3740 -#define OMAP_ABE_S_APS_DL2_EQ_DATA_SIZE 0x48 - -#define OMAP_ABE_S_DC_DCVALUE_ADDR 0x3788 -#define OMAP_ABE_S_DC_DCVALUE_SIZE 0x8 - -#define OMAP_ABE_S_VIBRA_ADDR 0x3790 -#define OMAP_ABE_S_VIBRA_SIZE 0x30 - -#define OMAP_ABE_S_VIBRA2_IN_ADDR 0x37C0 -#define OMAP_ABE_S_VIBRA2_IN_SIZE 0x30 - -#define OMAP_ABE_S_VIBRA2_ADDR_ADDR 0x37F0 -#define OMAP_ABE_S_VIBRA2_ADDR_SIZE 0x8 - -#define OMAP_ABE_S_VIBRACTRL_FORRIGHTSM_ADDR 0x37F8 -#define OMAP_ABE_S_VIBRACTRL_FORRIGHTSM_SIZE 0xC0 - -#define OMAP_ABE_S_RNOISE_MEM_ADDR 0x38B8 -#define OMAP_ABE_S_RNOISE_MEM_SIZE 0x8 - -#define OMAP_ABE_S_CTRL_ADDR 0x38C0 -#define OMAP_ABE_S_CTRL_SIZE 0x90 - -#define OMAP_ABE_S_VIBRA1_IN_ADDR 0x3950 -#define OMAP_ABE_S_VIBRA1_IN_SIZE 0x30 - -#define OMAP_ABE_S_VIBRA1_TEMP_ADDR 0x3980 -#define OMAP_ABE_S_VIBRA1_TEMP_SIZE 0xC0 - -#define OMAP_ABE_S_VIBRACTRL_FORLEFTSM_ADDR 0x3A40 -#define OMAP_ABE_S_VIBRACTRL_FORLEFTSM_SIZE 0xC0 - -#define OMAP_ABE_S_VIBRA1_MEM_ADDR 0x3B00 -#define OMAP_ABE_S_VIBRA1_MEM_SIZE 0x58 - -#define OMAP_ABE_S_VIBRACTRL_STEREO_ADDR 0x3B58 -#define OMAP_ABE_S_VIBRACTRL_STEREO_SIZE 0xC0 - -#define OMAP_ABE_S_AMIC_96_48_DATA_ADDR 0x3C18 -#define OMAP_ABE_S_AMIC_96_48_DATA_SIZE 0x98 - -#define OMAP_ABE_S_DMIC0_96_48_DATA_ADDR 0x3CB0 -#define OMAP_ABE_S_DMIC0_96_48_DATA_SIZE 0x98 - -#define OMAP_ABE_S_DMIC1_96_48_DATA_ADDR 0x3D48 -#define OMAP_ABE_S_DMIC1_96_48_DATA_SIZE 0x98 - -#define OMAP_ABE_S_DMIC2_96_48_DATA_ADDR 0x3DE0 -#define OMAP_ABE_S_DMIC2_96_48_DATA_SIZE 0x98 - -#define OMAP_ABE_S_DBG_8K_PATTERN_ADDR 0x3E78 -#define OMAP_ABE_S_DBG_8K_PATTERN_SIZE 0x10 - -#define OMAP_ABE_S_DBG_16K_PATTERN_ADDR 0x3E88 -#define OMAP_ABE_S_DBG_16K_PATTERN_SIZE 0x20 - -#define OMAP_ABE_S_DBG_24K_PATTERN_ADDR 0x3EA8 -#define OMAP_ABE_S_DBG_24K_PATTERN_SIZE 0x30 - -#define OMAP_ABE_S_DBG_48K_PATTERN_ADDR 0x3ED8 -#define OMAP_ABE_S_DBG_48K_PATTERN_SIZE 0x60 - -#define OMAP_ABE_S_DBG_96K_PATTERN_ADDR 0x3F38 -#define OMAP_ABE_S_DBG_96K_PATTERN_SIZE 0xC0 - -#define OMAP_ABE_S_MM_EXT_IN_ADDR 0x3FF8 -#define OMAP_ABE_S_MM_EXT_IN_SIZE 0x60 - -#define OMAP_ABE_S_MM_EXT_IN_L_ADDR 0x4058 -#define OMAP_ABE_S_MM_EXT_IN_L_SIZE 0x60 - -#define OMAP_ABE_S_MM_EXT_IN_R_ADDR 0x40B8 -#define OMAP_ABE_S_MM_EXT_IN_R_SIZE 0x60 - -#define OMAP_ABE_S_MIC4_ADDR 0x4118 -#define OMAP_ABE_S_MIC4_SIZE 0x60 - -#define OMAP_ABE_S_MIC4_L_ADDR 0x4178 -#define OMAP_ABE_S_MIC4_L_SIZE 0x60 - -#define OMAP_ABE_S_MIC4_R_ADDR 0x41D8 -#define OMAP_ABE_S_MIC4_R_SIZE 0x60 - -#define OMAP_ABE_S_HW_TEST_ADDR 0x4238 -#define OMAP_ABE_S_HW_TEST_SIZE 0x8 - -#define OMAP_ABE_S_XINASRC_BT_UL_ADDR 0x4240 -#define OMAP_ABE_S_XINASRC_BT_UL_SIZE 0x140 - -#define OMAP_ABE_S_XINASRC_BT_DL_ADDR 0x4380 -#define OMAP_ABE_S_XINASRC_BT_DL_SIZE 0x140 - -#define OMAP_ABE_S_BT_DL_8K_TEMP_ADDR 0x44C0 -#define OMAP_ABE_S_BT_DL_8K_TEMP_SIZE 0x10 - -#define OMAP_ABE_S_BT_DL_16K_TEMP_ADDR 0x44D0 -#define OMAP_ABE_S_BT_DL_16K_TEMP_SIZE 0x20 + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#define OMAP_ABE_INIT_SM_ADDR 0x0 +#define OMAP_ABE_INIT_SM_SIZE 0xC80 +#define OMAP_ABE_S_DATA0_ADDR 0xC80 +#define OMAP_ABE_S_DATA0_SIZE 0x8 +#define OMAP_ABE_S_TEMP_ADDR 0xC88 +#define OMAP_ABE_S_TEMP_SIZE 0x8 +#define OMAP_ABE_S_PHOENIXOFFSET_ADDR 0xC90 +#define OMAP_ABE_S_PHOENIXOFFSET_SIZE 0x8 +#define OMAP_ABE_S_GTARGET1_ADDR 0xC98 +#define OMAP_ABE_S_GTARGET1_SIZE 0x38 +#define OMAP_ABE_S_GTARGET_DL1_ADDR 0xCD0 +#define OMAP_ABE_S_GTARGET_DL1_SIZE 0x10 +#define OMAP_ABE_S_GTARGET_DL2_ADDR 0xCE0 +#define OMAP_ABE_S_GTARGET_DL2_SIZE 0x10 +#define OMAP_ABE_S_GTARGET_ECHO_ADDR 0xCF0 +#define OMAP_ABE_S_GTARGET_ECHO_SIZE 0x8 +#define OMAP_ABE_S_GTARGET_SDT_ADDR 0xCF8 +#define OMAP_ABE_S_GTARGET_SDT_SIZE 0x8 +#define OMAP_ABE_S_GTARGET_VXREC_ADDR 0xD00 +#define OMAP_ABE_S_GTARGET_VXREC_SIZE 0x10 +#define OMAP_ABE_S_GTARGET_UL_ADDR 0xD10 +#define OMAP_ABE_S_GTARGET_UL_SIZE 0x10 +#define OMAP_ABE_S_GTARGET_BTUL_ADDR 0xD20 +#define OMAP_ABE_S_GTARGET_BTUL_SIZE 0x8 +#define OMAP_ABE_S_GCURRENT_ADDR 0xD28 +#define OMAP_ABE_S_GCURRENT_SIZE 0x90 +#define OMAP_ABE_S_GAIN_ONE_ADDR 0xDB8 +#define OMAP_ABE_S_GAIN_ONE_SIZE 0x8 +#define OMAP_ABE_S_TONES_ADDR 0xDC0 +#define OMAP_ABE_S_TONES_SIZE 0x60 +#define OMAP_ABE_S_VX_DL_ADDR 0xE20 +#define OMAP_ABE_S_VX_DL_SIZE 0x60 +#define OMAP_ABE_S_MM_UL2_ADDR 0xE80 +#define OMAP_ABE_S_MM_UL2_SIZE 0x60 +#define OMAP_ABE_S_MM_DL_ADDR 0xEE0 +#define OMAP_ABE_S_MM_DL_SIZE 0x60 +#define OMAP_ABE_S_DL1_M_OUT_ADDR 0xF40 +#define OMAP_ABE_S_DL1_M_OUT_SIZE 0x60 +#define OMAP_ABE_S_DL2_M_OUT_ADDR 0xFA0 +#define OMAP_ABE_S_DL2_M_OUT_SIZE 0x60 +#define OMAP_ABE_S_ECHO_M_OUT_ADDR 0x1000 +#define OMAP_ABE_S_ECHO_M_OUT_SIZE 0x60 +#define OMAP_ABE_S_SDT_M_OUT_ADDR 0x1060 +#define OMAP_ABE_S_SDT_M_OUT_SIZE 0x60 +#define OMAP_ABE_S_VX_UL_ADDR 0x10C0 +#define OMAP_ABE_S_VX_UL_SIZE 0x60 +#define OMAP_ABE_S_VX_UL_M_ADDR 0x1120 +#define OMAP_ABE_S_VX_UL_M_SIZE 0x60 +#define OMAP_ABE_S_BT_DL_ADDR 0x1180 +#define OMAP_ABE_S_BT_DL_SIZE 0x60 +#define OMAP_ABE_S_BT_UL_ADDR 0x11E0 +#define OMAP_ABE_S_BT_UL_SIZE 0x60 +#define OMAP_ABE_S_BT_DL_8K_ADDR 0x1240 +#define OMAP_ABE_S_BT_DL_8K_SIZE 0x18 +#define OMAP_ABE_S_BT_DL_16K_ADDR 0x1258 +#define OMAP_ABE_S_BT_DL_16K_SIZE 0x28 +#define OMAP_ABE_S_BT_UL_8K_ADDR 0x1280 +#define OMAP_ABE_S_BT_UL_8K_SIZE 0x10 +#define OMAP_ABE_S_BT_UL_16K_ADDR 0x1290 +#define OMAP_ABE_S_BT_UL_16K_SIZE 0x20 +#define OMAP_ABE_S_SDT_F_ADDR 0x12B0 +#define OMAP_ABE_S_SDT_F_SIZE 0x60 +#define OMAP_ABE_S_SDT_F_DATA_ADDR 0x1310 +#define OMAP_ABE_S_SDT_F_DATA_SIZE 0x48 +#define OMAP_ABE_S_MM_DL_OSR_ADDR 0x1358 +#define OMAP_ABE_S_MM_DL_OSR_SIZE 0xC0 +#define OMAP_ABE_S_24_ZEROS_ADDR 0x1418 +#define OMAP_ABE_S_24_ZEROS_SIZE 0xC0 +#define OMAP_ABE_S_DMIC1_ADDR 0x14D8 +#define OMAP_ABE_S_DMIC1_SIZE 0x60 +#define OMAP_ABE_S_DMIC2_ADDR 0x1538 +#define OMAP_ABE_S_DMIC2_SIZE 0x60 +#define OMAP_ABE_S_DMIC3_ADDR 0x1598 +#define OMAP_ABE_S_DMIC3_SIZE 0x60 +#define OMAP_ABE_S_AMIC_ADDR 0x15F8 +#define OMAP_ABE_S_AMIC_SIZE 0x60 +#define OMAP_ABE_S_DMIC1_L_ADDR 0x1658 +#define OMAP_ABE_S_DMIC1_L_SIZE 0x60 +#define OMAP_ABE_S_DMIC1_R_ADDR 0x16B8 +#define OMAP_ABE_S_DMIC1_R_SIZE 0x60 +#define OMAP_ABE_S_DMIC2_L_ADDR 0x1718 +#define OMAP_ABE_S_DMIC2_L_SIZE 0x60 +#define OMAP_ABE_S_DMIC2_R_ADDR 0x1778 +#define OMAP_ABE_S_DMIC2_R_SIZE 0x60 +#define OMAP_ABE_S_DMIC3_L_ADDR 0x17D8 +#define OMAP_ABE_S_DMIC3_L_SIZE 0x60 +#define OMAP_ABE_S_DMIC3_R_ADDR 0x1838 +#define OMAP_ABE_S_DMIC3_R_SIZE 0x60 +#define OMAP_ABE_S_BT_UL_L_ADDR 0x1898 +#define OMAP_ABE_S_BT_UL_L_SIZE 0x60 +#define OMAP_ABE_S_BT_UL_R_ADDR 0x18F8 +#define OMAP_ABE_S_BT_UL_R_SIZE 0x60 +#define OMAP_ABE_S_AMIC_L_ADDR 0x1958 +#define OMAP_ABE_S_AMIC_L_SIZE 0x60 +#define OMAP_ABE_S_AMIC_R_ADDR 0x19B8 +#define OMAP_ABE_S_AMIC_R_SIZE 0x60 +#define OMAP_ABE_S_ECHOREF_L_ADDR 0x1A18 +#define OMAP_ABE_S_ECHOREF_L_SIZE 0x60 +#define OMAP_ABE_S_ECHOREF_R_ADDR 0x1A78 +#define OMAP_ABE_S_ECHOREF_R_SIZE 0x60 +#define OMAP_ABE_S_MM_DL_L_ADDR 0x1AD8 +#define OMAP_ABE_S_MM_DL_L_SIZE 0x60 +#define OMAP_ABE_S_MM_DL_R_ADDR 0x1B38 +#define OMAP_ABE_S_MM_DL_R_SIZE 0x60 +#define OMAP_ABE_S_MM_UL_ADDR 0x1B98 +#define OMAP_ABE_S_MM_UL_SIZE 0x3C0 +#define OMAP_ABE_S_AMIC_96K_ADDR 0x1F58 +#define OMAP_ABE_S_AMIC_96K_SIZE 0xC0 +#define OMAP_ABE_S_DMIC0_96K_ADDR 0x2018 +#define OMAP_ABE_S_DMIC0_96K_SIZE 0xC0 +#define OMAP_ABE_S_DMIC1_96K_ADDR 0x20D8 +#define OMAP_ABE_S_DMIC1_96K_SIZE 0xC0 +#define OMAP_ABE_S_DMIC2_96K_ADDR 0x2198 +#define OMAP_ABE_S_DMIC2_96K_SIZE 0xC0 +#define OMAP_ABE_S_UL_VX_UL_48_8K_ADDR 0x2258 +#define OMAP_ABE_S_UL_VX_UL_48_8K_SIZE 0x60 +#define OMAP_ABE_S_UL_VX_UL_48_16K_ADDR 0x22B8 +#define OMAP_ABE_S_UL_VX_UL_48_16K_SIZE 0x60 +#define OMAP_ABE_S_UL_MIC_48K_ADDR 0x2318 +#define OMAP_ABE_S_UL_MIC_48K_SIZE 0x60 +#define OMAP_ABE_S_VOICE_8K_UL_ADDR 0x2378 +#define OMAP_ABE_S_VOICE_8K_UL_SIZE 0x18 +#define OMAP_ABE_S_VOICE_8K_DL_ADDR 0x2390 +#define OMAP_ABE_S_VOICE_8K_DL_SIZE 0x10 +#define OMAP_ABE_S_MCPDM_OUT1_ADDR 0x23A0 +#define OMAP_ABE_S_MCPDM_OUT1_SIZE 0xC0 +#define OMAP_ABE_S_MCPDM_OUT2_ADDR 0x2460 +#define OMAP_ABE_S_MCPDM_OUT2_SIZE 0xC0 +#define OMAP_ABE_S_MCPDM_OUT3_ADDR 0x2520 +#define OMAP_ABE_S_MCPDM_OUT3_SIZE 0xC0 +#define OMAP_ABE_S_VOICE_16K_UL_ADDR 0x25E0 +#define OMAP_ABE_S_VOICE_16K_UL_SIZE 0x28 +#define OMAP_ABE_S_VOICE_16K_DL_ADDR 0x2608 +#define OMAP_ABE_S_VOICE_16K_DL_SIZE 0x20 +#define OMAP_ABE_S_XINASRC_DL_VX_ADDR 0x2628 +#define OMAP_ABE_S_XINASRC_DL_VX_SIZE 0x140 +#define OMAP_ABE_S_XINASRC_UL_VX_ADDR 0x2768 +#define OMAP_ABE_S_XINASRC_UL_VX_SIZE 0x140 +#define OMAP_ABE_S_XINASRC_MM_EXT_IN_ADDR 0x28A8 +#define OMAP_ABE_S_XINASRC_MM_EXT_IN_SIZE 0x140 +#define OMAP_ABE_S_VX_REC_ADDR 0x29E8 +#define OMAP_ABE_S_VX_REC_SIZE 0x60 +#define OMAP_ABE_S_VX_REC_L_ADDR 0x2A48 +#define OMAP_ABE_S_VX_REC_L_SIZE 0x60 +#define OMAP_ABE_S_VX_REC_R_ADDR 0x2AA8 +#define OMAP_ABE_S_VX_REC_R_SIZE 0x60 +#define OMAP_ABE_S_DL2_M_L_ADDR 0x2B08 +#define OMAP_ABE_S_DL2_M_L_SIZE 0x60 +#define OMAP_ABE_S_DL2_M_R_ADDR 0x2B68 +#define OMAP_ABE_S_DL2_M_R_SIZE 0x60 +#define OMAP_ABE_S_DL2_M_LR_EQ_DATA_ADDR 0x2BC8 +#define OMAP_ABE_S_DL2_M_LR_EQ_DATA_SIZE 0xC8 +#define OMAP_ABE_S_DL1_M_EQ_DATA_ADDR 0x2C90 +#define OMAP_ABE_S_DL1_M_EQ_DATA_SIZE 0xC8 +#define OMAP_ABE_S_EARP_48_96_LP_DATA_ADDR 0x2D58 +#define OMAP_ABE_S_EARP_48_96_LP_DATA_SIZE 0x78 +#define OMAP_ABE_S_IHF_48_96_LP_DATA_ADDR 0x2DD0 +#define OMAP_ABE_S_IHF_48_96_LP_DATA_SIZE 0x78 +#define OMAP_ABE_S_VX_UL_8_TEMP_ADDR 0x2E48 +#define OMAP_ABE_S_VX_UL_8_TEMP_SIZE 0x10 +#define OMAP_ABE_S_VX_UL_16_TEMP_ADDR 0x2E58 +#define OMAP_ABE_S_VX_UL_16_TEMP_SIZE 0x20 +#define OMAP_ABE_S_VX_DL_8_48_LP_DATA_ADDR 0x2E78 +#define OMAP_ABE_S_VX_DL_8_48_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_VX_DL_8_48_HP_DATA_ADDR 0x2EE0 +#define OMAP_ABE_S_VX_DL_8_48_HP_DATA_SIZE 0x38 +#define OMAP_ABE_S_VX_DL_16_48_LP_DATA_ADDR 0x2F18 +#define OMAP_ABE_S_VX_DL_16_48_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_VX_DL_16_48_HP_DATA_ADDR 0x2F80 +#define OMAP_ABE_S_VX_DL_16_48_HP_DATA_SIZE 0x28 +#define OMAP_ABE_S_VX_UL_48_8_LP_DATA_ADDR 0x2FA8 +#define OMAP_ABE_S_VX_UL_48_8_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_VX_UL_48_8_HP_DATA_ADDR 0x3010 +#define OMAP_ABE_S_VX_UL_48_8_HP_DATA_SIZE 0x38 +#define OMAP_ABE_S_VX_UL_48_16_LP_DATA_ADDR 0x3048 +#define OMAP_ABE_S_VX_UL_48_16_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_VX_UL_48_16_HP_DATA_ADDR 0x30B0 +#define OMAP_ABE_S_VX_UL_48_16_HP_DATA_SIZE 0x28 +#define OMAP_ABE_S_BT_UL_8_48_LP_DATA_ADDR 0x30D8 +#define OMAP_ABE_S_BT_UL_8_48_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_BT_UL_8_48_HP_DATA_ADDR 0x3140 +#define OMAP_ABE_S_BT_UL_8_48_HP_DATA_SIZE 0x38 +#define OMAP_ABE_S_BT_UL_16_48_LP_DATA_ADDR 0x3178 +#define OMAP_ABE_S_BT_UL_16_48_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_BT_UL_16_48_HP_DATA_ADDR 0x31E0 +#define OMAP_ABE_S_BT_UL_16_48_HP_DATA_SIZE 0x28 +#define OMAP_ABE_S_BT_DL_48_8_LP_DATA_ADDR 0x3208 +#define OMAP_ABE_S_BT_DL_48_8_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_BT_DL_48_8_HP_DATA_ADDR 0x3270 +#define OMAP_ABE_S_BT_DL_48_8_HP_DATA_SIZE 0x38 +#define OMAP_ABE_S_BT_DL_48_16_LP_DATA_ADDR 0x32A8 +#define OMAP_ABE_S_BT_DL_48_16_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_BT_DL_48_16_HP_DATA_ADDR 0x3310 +#define OMAP_ABE_S_BT_DL_48_16_HP_DATA_SIZE 0x28 +#define OMAP_ABE_S_ECHO_REF_48_8_LP_DATA_ADDR 0x3338 +#define OMAP_ABE_S_ECHO_REF_48_8_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_ECHO_REF_48_8_HP_DATA_ADDR 0x33A0 +#define OMAP_ABE_S_ECHO_REF_48_8_HP_DATA_SIZE 0x38 +#define OMAP_ABE_S_ECHO_REF_48_16_LP_DATA_ADDR 0x33D8 +#define OMAP_ABE_S_ECHO_REF_48_16_LP_DATA_SIZE 0x68 +#define OMAP_ABE_S_ECHO_REF_48_16_HP_DATA_ADDR 0x3440 +#define OMAP_ABE_S_ECHO_REF_48_16_HP_DATA_SIZE 0x28 +#define OMAP_ABE_S_XINASRC_ECHO_REF_ADDR 0x3468 +#define OMAP_ABE_S_XINASRC_ECHO_REF_SIZE 0x140 +#define OMAP_ABE_S_ECHO_REF_16K_ADDR 0x35A8 +#define OMAP_ABE_S_ECHO_REF_16K_SIZE 0x28 +#define OMAP_ABE_S_ECHO_REF_8K_ADDR 0x35D0 +#define OMAP_ABE_S_ECHO_REF_8K_SIZE 0x18 +#define OMAP_ABE_S_DL1_EQ_ADDR 0x35E8 +#define OMAP_ABE_S_DL1_EQ_SIZE 0x60 +#define OMAP_ABE_S_DL2_EQ_ADDR 0x3648 +#define OMAP_ABE_S_DL2_EQ_SIZE 0x60 +#define OMAP_ABE_S_DL1_GAIN_OUT_ADDR 0x36A8 +#define OMAP_ABE_S_DL1_GAIN_OUT_SIZE 0x60 +#define OMAP_ABE_S_DL2_GAIN_OUT_ADDR 0x3708 +#define OMAP_ABE_S_DL2_GAIN_OUT_SIZE 0x60 +#define OMAP_ABE_S_DC_HS_ADDR 0x3768 +#define OMAP_ABE_S_DC_HS_SIZE 0x8 +#define OMAP_ABE_S_DC_HF_ADDR 0x3770 +#define OMAP_ABE_S_DC_HF_SIZE 0x8 +#define OMAP_ABE_S_VIBRA_ADDR 0x3778 +#define OMAP_ABE_S_VIBRA_SIZE 0x30 +#define OMAP_ABE_S_VIBRA2_IN_ADDR 0x37A8 +#define OMAP_ABE_S_VIBRA2_IN_SIZE 0x30 +#define OMAP_ABE_S_VIBRA2_ADDR_ADDR 0x37D8 +#define OMAP_ABE_S_VIBRA2_ADDR_SIZE 0x8 +#define OMAP_ABE_S_VIBRACTRL_FORRIGHTSM_ADDR 0x37E0 +#define OMAP_ABE_S_VIBRACTRL_FORRIGHTSM_SIZE 0xC0 +#define OMAP_ABE_S_RNOISE_MEM_ADDR 0x38A0 +#define OMAP_ABE_S_RNOISE_MEM_SIZE 0x8 +#define OMAP_ABE_S_CTRL_ADDR 0x38A8 +#define OMAP_ABE_S_CTRL_SIZE 0x90 +#define OMAP_ABE_S_VIBRA1_IN_ADDR 0x3938 +#define OMAP_ABE_S_VIBRA1_IN_SIZE 0x30 +#define OMAP_ABE_S_VIBRA1_TEMP_ADDR 0x3968 +#define OMAP_ABE_S_VIBRA1_TEMP_SIZE 0xC0 +#define OMAP_ABE_S_VIBRACTRL_FORLEFTSM_ADDR 0x3A28 +#define OMAP_ABE_S_VIBRACTRL_FORLEFTSM_SIZE 0xC0 +#define OMAP_ABE_S_VIBRA1_MEM_ADDR 0x3AE8 +#define OMAP_ABE_S_VIBRA1_MEM_SIZE 0x58 +#define OMAP_ABE_S_VIBRACTRL_STEREO_ADDR 0x3B40 +#define OMAP_ABE_S_VIBRACTRL_STEREO_SIZE 0xC0 +#define OMAP_ABE_S_AMIC_96_48_DATA_ADDR 0x3C00 +#define OMAP_ABE_S_AMIC_96_48_DATA_SIZE 0x98 +#define OMAP_ABE_S_DMIC0_96_48_DATA_ADDR 0x3C98 +#define OMAP_ABE_S_DMIC0_96_48_DATA_SIZE 0x98 +#define OMAP_ABE_S_DMIC1_96_48_DATA_ADDR 0x3D30 +#define OMAP_ABE_S_DMIC1_96_48_DATA_SIZE 0x98 +#define OMAP_ABE_S_DMIC2_96_48_DATA_ADDR 0x3DC8 +#define OMAP_ABE_S_DMIC2_96_48_DATA_SIZE 0x98 +#define OMAP_ABE_S_DBG_8K_PATTERN_ADDR 0x3E60 +#define OMAP_ABE_S_DBG_8K_PATTERN_SIZE 0x10 +#define OMAP_ABE_S_DBG_16K_PATTERN_ADDR 0x3E70 +#define OMAP_ABE_S_DBG_16K_PATTERN_SIZE 0x20 +#define OMAP_ABE_S_DBG_24K_PATTERN_ADDR 0x3E90 +#define OMAP_ABE_S_DBG_24K_PATTERN_SIZE 0x30 +#define OMAP_ABE_S_DBG_48K_PATTERN_ADDR 0x3EC0 +#define OMAP_ABE_S_DBG_48K_PATTERN_SIZE 0x60 +#define OMAP_ABE_S_DBG_96K_PATTERN_ADDR 0x3F20 +#define OMAP_ABE_S_DBG_96K_PATTERN_SIZE 0xC0 +#define OMAP_ABE_S_MM_EXT_IN_ADDR 0x3FE0 +#define OMAP_ABE_S_MM_EXT_IN_SIZE 0x60 +#define OMAP_ABE_S_MM_EXT_IN_L_ADDR 0x4040 +#define OMAP_ABE_S_MM_EXT_IN_L_SIZE 0x60 +#define OMAP_ABE_S_MM_EXT_IN_R_ADDR 0x40A0 +#define OMAP_ABE_S_MM_EXT_IN_R_SIZE 0x60 +#define OMAP_ABE_S_MIC4_ADDR 0x4100 +#define OMAP_ABE_S_MIC4_SIZE 0x60 +#define OMAP_ABE_S_MIC4_L_ADDR 0x4160 +#define OMAP_ABE_S_MIC4_L_SIZE 0x60 +#define OMAP_ABE_S_SATURATION_7FFF_ADDR 0x41C0 +#define OMAP_ABE_S_SATURATION_7FFF_SIZE 0x8 +#define OMAP_ABE_S_SATURATION_ADDR 0x41C8 +#define OMAP_ABE_S_SATURATION_SIZE 0x8 +#define OMAP_ABE_S_XINASRC_BT_UL_ADDR 0x41D0 +#define OMAP_ABE_S_XINASRC_BT_UL_SIZE 0x140 +#define OMAP_ABE_S_XINASRC_BT_DL_ADDR 0x4310 +#define OMAP_ABE_S_XINASRC_BT_DL_SIZE 0x140 +#define OMAP_ABE_S_BT_DL_8K_TEMP_ADDR 0x4450 +#define OMAP_ABE_S_BT_DL_8K_TEMP_SIZE 0x10 +#define OMAP_ABE_S_BT_DL_16K_TEMP_ADDR 0x4460 +#define OMAP_ABE_S_BT_DL_16K_TEMP_SIZE 0x20 +#define OMAP_ABE_S_VX_DL_8_48_OSR_LP_DATA_ADDR 0x4480 +#define OMAP_ABE_S_VX_DL_8_48_OSR_LP_DATA_SIZE 0xE0 +#define OMAP_ABE_S_BT_UL_8_48_OSR_LP_DATA_ADDR 0x4560 +#define OMAP_ABE_S_BT_UL_8_48_OSR_LP_DATA_SIZE 0xE0 +#define OMAP_ABE_S_MM_DL_44P1_ADDR 0x4640 +#define OMAP_ABE_S_MM_DL_44P1_SIZE 0x300 +#define OMAP_ABE_S_TONES_44P1_ADDR 0x4940 +#define OMAP_ABE_S_TONES_44P1_SIZE 0x300 +#define OMAP_ABE_S_MM_DL_44P1_XK_ADDR 0x4C40 +#define OMAP_ABE_S_MM_DL_44P1_XK_SIZE 0x10 +#define OMAP_ABE_S_TONES_44P1_XK_ADDR 0x4C50 +#define OMAP_ABE_S_TONES_44P1_XK_SIZE 0x10 +#define OMAP_ABE_S_SRC_44P1_MULFAC1_ADDR 0x4C60 +#define OMAP_ABE_S_SRC_44P1_MULFAC1_SIZE 0x8 diff --git a/sound/soc/omap/abe/abe_taskid.h b/sound/soc/omap/abe/abe_taskid.h index f55caba..b72c3a5 100644 --- a/sound/soc/omap/abe/abe_taskid.h +++ b/sound/soc/omap/abe/abe_taskid.h @@ -1,188 +1,187 @@ /* - - This file is provided under a dual BSD/GPLv2 license. When using or - redistributing this file, you may do so under either license. - - GPL LICENSE SUMMARY - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License as - published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - The full GNU General Public License is included in this distribution - in the file called LICENSE.GPL. - - BSD LICENSE - - Copyright(c) 2010-2011 Texas Instruments Incorporated, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Texas Instruments Incorporated nor the names of - its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - + * + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + * The full GNU General Public License is included in this distribution + * in the file called LICENSE.GPL. + * + * BSD LICENSE + * + * Copyright(c) 2010-2011 Texas Instruments Incorporated, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Texas Instruments Incorporated nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ #ifndef _ABE_TASKID_H_ #define _ABE_TASKID_H_ - -#define C_ABE_FW_TASK_DL1_APS_CORE 0 -#define C_ABE_FW_TASK_DL1_APS_COIL_CORE 1 -#define C_ABE_FW_TASK_DL2_L_APS_CORE 2 -#define C_ABE_FW_TASK_DL2_L_APS_COIL_CORE 3 -#define C_ABE_FW_TASK_DL2_R_APS_CORE 4 -#define C_ABE_FW_TASK_DL2_R_APS_COIL_CORE 5 -#define C_ABE_FW_TASK_ASRC_VX_DL_8 6 -#define C_ABE_FW_TASK_ASRC_VX_DL_16 7 -#define C_ABE_FW_TASK_ASRC_MM_EXT_IN 8 -#define C_ABE_FW_TASK_ASRC_VX_UL_8 9 -#define C_ABE_FW_TASK_ASRC_VX_UL_16 10 -#define C_ABE_FW_TASK_VX_UL_48_8_DEC 11 -#define C_ABE_FW_TASK_VX_UL_48_16_DEC 12 -#define C_ABE_FW_TASK_BT_DL_48_8_DEC 13 -#define C_ABE_FW_TASK_BT_DL_48_16_DEC 14 -#define C_ABE_FW_TASK_ECHO_REF_48_8_DEC 15 -#define C_ABE_FW_TASK_ECHO_REF_48_16_DEC 16 -#define C_ABE_FW_TASK_DL2_EQ 17 -#define C_ABE_FW_TASK_DL2_L_APS_IIR 18 -#define C_ABE_FW_TASK_DL2_R_APS_IIR 19 -#define C_ABE_FW_TASK_DL2_APS_EQ 20 -#define C_ABE_FW_TASK_ECHO_REF_48_16 21 -#define C_ABE_FW_TASK_ECHO_REF_48_8 22 -#define C_ABE_FW_TASK_GAIN_UPDATE 23 -#define C_ABE_FW_TASK_SideTone 24 -#define C_ABE_FW_TASK_VX_DL_8_48_LP 25 -#define C_ABE_FW_TASK_VX_DL_8_48_HP 26 -#define C_ABE_FW_TASK_VX_DL_16_48_LP 27 -#define C_ABE_FW_TASK_VX_DL_16_48_HP 28 -#define C_ABE_FW_TASK_VX_UL_48_8_LP 29 -#define C_ABE_FW_TASK_VX_UL_48_8_HP 30 -#define C_ABE_FW_TASK_VX_UL_48_16_LP 31 -#define C_ABE_FW_TASK_VX_UL_48_16_HP 32 -#define C_ABE_FW_TASK_BT_UL_8_48_LP 33 -#define C_ABE_FW_TASK_BT_UL_8_48_HP 34 -#define C_ABE_FW_TASK_BT_UL_16_48_LP 35 -#define C_ABE_FW_TASK_BT_UL_16_48_HP 36 -#define C_ABE_FW_TASK_BT_DL_48_8_LP 37 -#define C_ABE_FW_TASK_BT_DL_48_8_HP 38 -#define C_ABE_FW_TASK_BT_DL_48_16_LP 39 -#define C_ABE_FW_TASK_BT_DL_48_16_HP 40 -#define C_ABE_FW_TASK_ECHO_REF_48_8_LP 41 -#define C_ABE_FW_TASK_ECHO_REF_48_8_HP 42 -#define C_ABE_FW_TASK_ECHO_REF_48_16_LP 43 -#define C_ABE_FW_TASK_ECHO_REF_48_16_HP 44 -#define C_ABE_FW_TASK_DL1_EQ 45 -#define C_ABE_FW_TASK_DL1_APS_IIR 46 -#define C_ABE_FW_TASK_DL1_APS_EQ 47 -#define C_ABE_FW_TASK_IHF_48_96_LP 48 -#define C_ABE_FW_TASK_EARP_48_96_LP 49 -#define C_ABE_FW_TASK_DL1_GAIN 50 -#define C_ABE_FW_TASK_DL2_GAIN 51 -#define C_ABE_FW_TASK_IO_PING_PONG 52 -#define C_ABE_FW_TASK_IO_DMIC 53 -#define C_ABE_FW_TASK_IO_PDM_UL 54 -#define C_ABE_FW_TASK_IO_BT_VX_UL 55 -#define C_ABE_FW_TASK_IO_MM_UL 56 -#define C_ABE_FW_TASK_IO_MM_UL2 57 -#define C_ABE_FW_TASK_IO_VX_UL 58 -#define C_ABE_FW_TASK_IO_MM_DL 59 -#define C_ABE_FW_TASK_IO_VX_DL 60 -#define C_ABE_FW_TASK_IO_TONES_DL 61 -#define C_ABE_FW_TASK_IO_VIB_DL 62 -#define C_ABE_FW_TASK_IO_BT_VX_DL 63 -#define C_ABE_FW_TASK_IO_PDM_DL 64 -#define C_ABE_FW_TASK_IO_MM_EXT_OUT 65 -#define C_ABE_FW_TASK_IO_MM_EXT_IN 66 -#define C_ABE_FW_TASK_IO_TDM_OUT 67 -#define C_ABE_FW_TASK_IO_TDM_IN 68 -#define C_ABE_FW_TASK_DEBUG_IRQFIFO 69 -#define C_ABE_FW_TASK_EchoMixer 70 -#define C_ABE_FW_TASK_SDTMixer 71 -#define C_ABE_FW_TASK_DL1Mixer 72 -#define C_ABE_FW_TASK_DL2Mixer 73 -#define C_ABE_FW_TASK_VXRECMixer 74 -#define C_ABE_FW_TASK_ULMixer 75 -#define C_ABE_FW_TASK_VIBRA_PACK 76 -#define C_ABE_FW_TASK_VX_DL_8_48_0SR 77 -#define C_ABE_FW_TASK_VX_DL_16_48_0SR 78 -#define C_ABE_FW_TASK_BT_UL_8_48_0SR 79 -#define C_ABE_FW_TASK_BT_UL_16_48_0SR 80 -#define C_ABE_FW_TASK_IHF_48_96_0SR 81 -#define C_ABE_FW_TASK_EARP_48_96_0SR 82 -#define C_ABE_FW_TASK_AMIC_SPLIT 83 -#define C_ABE_FW_TASK_DMIC1_SPLIT 84 -#define C_ABE_FW_TASK_DMIC2_SPLIT 85 -#define C_ABE_FW_TASK_DMIC3_SPLIT 86 -#define C_ABE_FW_TASK_VXREC_SPLIT 87 -#define C_ABE_FW_TASK_BT_UL_SPLIT 88 -#define C_ABE_FW_TASK_MM_SPLIT 89 -#define C_ABE_FW_TASK_DL2_APS_SPLIT 90 -#define C_ABE_FW_TASK_VIBRA_SPLIT 91 -#define C_ABE_FW_TASK_MM_EXT_IN_SPLIT 92 -#define C_ABE_FW_TASK_ECHO_REF_SPLIT 93 -#define C_ABE_FW_TASK_MIC4_SPLIT 94 -#define C_ABE_FW_TASK_VX_UL_ROUTING 95 -#define C_ABE_FW_TASK_MM_UL2_ROUTING 96 -#define C_ABE_FW_TASK_VIBRA1 97 -#define C_ABE_FW_TASK_VIBRA2 98 -#define C_ABE_FW_TASK_BT_UL_16_48 99 -#define C_ABE_FW_TASK_BT_UL_8_48 100 -#define C_ABE_FW_TASK_BT_DL_48_16 101 -#define C_ABE_FW_TASK_BT_DL_48_8 102 -#define C_ABE_FW_TASK_VX_DL_16_48 103 -#define C_ABE_FW_TASK_VX_DL_8_48 104 -#define C_ABE_FW_TASK_VX_UL_48_16 105 -#define C_ABE_FW_TASK_VX_UL_48_8 106 -#define C_ABE_FW_TASK_DBG_SYNC 107 -#define C_ABE_FW_TASK_APS_DL1_IRQs 108 -#define C_ABE_FW_TASK_APS_DL2_L_IRQs 109 -#define C_ABE_FW_TASK_APS_DL2_R_IRQs 110 -#define C_ABE_FW_TASK_AMIC_96_48_LP 111 -#define C_ABE_FW_TASK_DMIC1_96_48_LP 112 -#define C_ABE_FW_TASK_DMIC2_96_48_LP 113 -#define C_ABE_FW_TASK_DMIC3_96_48_LP 114 -#define C_ABE_FW_TASK_INIT_FW_MEMORY 115 -#define C_ABE_FW_TASK_DEBUGTRACE_VX_ASRCs 116 -#define C_ABE_FW_TASK_ASRC_BT_UL_8 117 -#define C_ABE_FW_TASK_ASRC_BT_UL_16 118 -#define C_ABE_FW_TASK_ASRC_BT_DL_8 119 -#define C_ABE_FW_TASK_ASRC_BT_DL_16 120 -#define C_ABE_FW_TASK_BT_DL_48_8_HP_OPP100 121 -#define C_ABE_FW_TASK_BT_DL_48_16_HP_OPP100 122 -#define C_ABE_FW_TASK_BT_DL_48_8_OPP100 123 -#define C_ABE_FW_TASK_BT_DL_48_16_OPP100 124 - +#define C_ABE_FW_TASK_ASRC_VX_DL_8 0 +#define C_ABE_FW_TASK_ASRC_VX_DL_16 1 +#define C_ABE_FW_TASK_ASRC_VX_DL_8_SIB 2 +#define C_ABE_FW_TASK_ASRC_VX_DL_16_SIB 3 +#define C_ABE_FW_TASK_ASRC_MM_EXT_IN 4 +#define C_ABE_FW_TASK_ASRC_VX_UL_8 5 +#define C_ABE_FW_TASK_ASRC_VX_UL_16 6 +#define C_ABE_FW_TASK_ASRC_VX_UL_8_SIB 7 +#define C_ABE_FW_TASK_ASRC_VX_UL_16_SIB 8 +#define C_ABE_FW_TASK_VX_UL_48_8_DEC 9 +#define C_ABE_FW_TASK_VX_UL_48_16_DEC 10 +#define C_ABE_FW_TASK_BT_DL_48_8_DEC 11 +#define C_ABE_FW_TASK_BT_DL_48_16_DEC 12 +#define C_ABE_FW_TASK_ECHO_REF_48_8_DEC 13 +#define C_ABE_FW_TASK_ECHO_REF_48_16_DEC 14 +#define C_ABE_FW_TASK_DL2_EQ 15 +#define C_ABE_FW_TASK_ECHO_REF_48_16 16 +#define C_ABE_FW_TASK_ECHO_REF_48_8 17 +#define C_ABE_FW_TASK_GAIN_UPDATE 18 +#define C_ABE_FW_TASK_SideTone 19 +#define C_ABE_FW_TASK_VX_DL_8_48_LP 20 +#define C_ABE_FW_TASK_VX_DL_8_48_HP 21 +#define C_ABE_FW_TASK_VX_DL_16_48_LP 22 +#define C_ABE_FW_TASK_VX_DL_16_48_HP 23 +#define C_ABE_FW_TASK_VX_UL_48_8_LP 24 +#define C_ABE_FW_TASK_VX_UL_48_8_HP 25 +#define C_ABE_FW_TASK_VX_UL_48_16_LP 26 +#define C_ABE_FW_TASK_VX_UL_48_16_HP 27 +#define C_ABE_FW_TASK_BT_UL_8_48_LP 28 +#define C_ABE_FW_TASK_BT_UL_8_48_HP 29 +#define C_ABE_FW_TASK_BT_UL_16_48_LP 30 +#define C_ABE_FW_TASK_BT_UL_16_48_HP 31 +#define C_ABE_FW_TASK_BT_DL_48_8_LP 32 +#define C_ABE_FW_TASK_BT_DL_48_8_HP 33 +#define C_ABE_FW_TASK_BT_DL_48_16_LP 34 +#define C_ABE_FW_TASK_BT_DL_48_16_HP 35 +#define C_ABE_FW_TASK_ECHO_REF_48_8_LP 36 +#define C_ABE_FW_TASK_ECHO_REF_48_8_HP 37 +#define C_ABE_FW_TASK_ECHO_REF_48_16_LP 38 +#define C_ABE_FW_TASK_ECHO_REF_48_16_HP 39 +#define C_ABE_FW_TASK_DL1_EQ 40 +#define C_ABE_FW_TASK_IHF_48_96_LP 41 +#define C_ABE_FW_TASK_EARP_48_96_LP 42 +#define C_ABE_FW_TASK_DL1_GAIN 43 +#define C_ABE_FW_TASK_DL2_GAIN 44 +#define C_ABE_FW_TASK_IO_PING_PONG 45 +#define C_ABE_FW_TASK_IO_DMIC 46 +#define C_ABE_FW_TASK_IO_PDM_UL 47 +#define C_ABE_FW_TASK_IO_BT_VX_UL 48 +#define C_ABE_FW_TASK_IO_MM_UL 49 +#define C_ABE_FW_TASK_IO_MM_UL2 50 +#define C_ABE_FW_TASK_IO_VX_UL 51 +#define C_ABE_FW_TASK_IO_MM_DL 52 +#define C_ABE_FW_TASK_IO_VX_DL 53 +#define C_ABE_FW_TASK_IO_TONES_DL 54 +#define C_ABE_FW_TASK_IO_VIB_DL 55 +#define C_ABE_FW_TASK_IO_BT_VX_DL 56 +#define C_ABE_FW_TASK_IO_PDM_DL 57 +#define C_ABE_FW_TASK_IO_MM_EXT_OUT 58 +#define C_ABE_FW_TASK_IO_MM_EXT_IN 59 +#define C_ABE_FW_TASK_DEBUG_IRQFIFO 60 +#define C_ABE_FW_TASK_EchoMixer 61 +#define C_ABE_FW_TASK_SDTMixer 62 +#define C_ABE_FW_TASK_DL1Mixer 63 +#define C_ABE_FW_TASK_DL2Mixer 64 +#define C_ABE_FW_TASK_DL1Mixer_dual_mono 65 +#define C_ABE_FW_TASK_DL2Mixer_dual_mono 66 +#define C_ABE_FW_TASK_VXRECMixer 67 +#define C_ABE_FW_TASK_ULMixer 68 +#define C_ABE_FW_TASK_ULMixer_dual_mono 69 +#define C_ABE_FW_TASK_VIBRA_PACK 70 +#define C_ABE_FW_TASK_VX_DL_8_48_0SR 71 +#define C_ABE_FW_TASK_VX_DL_16_48_0SR 72 +#define C_ABE_FW_TASK_BT_UL_8_48_0SR 73 +#define C_ABE_FW_TASK_BT_UL_16_48_0SR 74 +#define C_ABE_FW_TASK_IHF_48_96_0SR 75 +#define C_ABE_FW_TASK_EARP_48_96_0SR 76 +#define C_ABE_FW_TASK_AMIC_SPLIT 77 +#define C_ABE_FW_TASK_DMIC1_SPLIT 78 +#define C_ABE_FW_TASK_DMIC2_SPLIT 79 +#define C_ABE_FW_TASK_DMIC3_SPLIT 80 +#define C_ABE_FW_TASK_VXREC_SPLIT 81 +#define C_ABE_FW_TASK_BT_UL_SPLIT 82 +#define C_ABE_FW_TASK_MM_SPLIT 83 +#define C_ABE_FW_TASK_VIBRA_SPLIT 84 +#define C_ABE_FW_TASK_MM_EXT_IN_SPLIT 85 +#define C_ABE_FW_TASK_ECHO_REF_SPLIT 86 +#define C_ABE_FW_TASK_UNUSED_1 87 +#define C_ABE_FW_TASK_VX_UL_ROUTING 88 +#define C_ABE_FW_TASK_MM_UL2_ROUTING 89 +#define C_ABE_FW_TASK_VIBRA1 90 +#define C_ABE_FW_TASK_VIBRA2 91 +#define C_ABE_FW_TASK_BT_UL_16_48 92 +#define C_ABE_FW_TASK_BT_UL_8_48 93 +#define C_ABE_FW_TASK_BT_DL_48_16 94 +#define C_ABE_FW_TASK_BT_DL_48_8 95 +#define C_ABE_FW_TASK_VX_DL_16_48 96 +#define C_ABE_FW_TASK_VX_DL_8_48 97 +#define C_ABE_FW_TASK_VX_UL_48_16 98 +#define C_ABE_FW_TASK_VX_UL_48_8 99 +#define C_ABE_FW_TASK_DBG_SYNC 100 +#define C_ABE_FW_TASK_AMIC_96_48_LP 101 +#define C_ABE_FW_TASK_DMIC1_96_48_LP 102 +#define C_ABE_FW_TASK_DMIC2_96_48_LP 103 +#define C_ABE_FW_TASK_DMIC3_96_48_LP 104 +#define C_ABE_FW_TASK_INIT_FW_MEMORY 105 +#define C_ABE_FW_TASK_DEBUGTRACE_VX_ASRCs 106 +#define C_ABE_FW_TASK_ASRC_BT_UL_8 107 +#define C_ABE_FW_TASK_ASRC_BT_UL_16 108 +#define C_ABE_FW_TASK_ASRC_BT_UL_8_SIB 109 +#define C_ABE_FW_TASK_ASRC_BT_UL_16_SIB 110 +#define C_ABE_FW_TASK_ASRC_BT_DL_8 111 +#define C_ABE_FW_TASK_ASRC_BT_DL_16 112 +#define C_ABE_FW_TASK_ASRC_BT_DL_8_SIB 113 +#define C_ABE_FW_TASK_ASRC_BT_DL_16_SIB 114 +#define C_ABE_FW_TASK_BT_DL_48_8_HP_OPP100 115 +#define C_ABE_FW_TASK_BT_DL_48_16_HP_OPP100 116 +#define C_ABE_FW_TASK_BT_DL_48_8_OPP100 117 +#define C_ABE_FW_TASK_BT_DL_48_16_OPP100 118 +#define C_ABE_FW_TASK_VX_DL_8_48_OSR_LP 119 +#define C_ABE_FW_TASK_VX_DL_8_48_FIR 120 +#define C_ABE_FW_TASK_BT_UL_8_48_OSR_LP 121 +#define C_ABE_FW_TASK_BT_UL_8_48_FIR 122 +#define C_ABE_FW_TASK_SRC44P1_MMDL 123 +#define C_ABE_FW_TASK_SRC44P1_TONES 124 +#define C_ABE_FW_TASK_SRC44P1_MMDL_1211 125 +#define C_ABE_FW_TASK_SRC44P1_TONES_1211 126 #endif /* _ABE_TASKID_H_ */ |