📄 xllp_acodec.cod
字号:
; 245 : break;
00110 e59d2000 ldr r2, [sp]
00114 ea000038 b |$L1551|
00118 |$L1555|
; 246 : /* case CC_A0_ID: //0x9e AKM 2440
; 247 : // XllpACodecI2CInit(pDeviceContext);
; 248 : //g_pfnSetMasterVol=XllpAkSetMasterVol;
; 249 :
; 250 : (pDeviceContext->g_pfnSetMasterVol)= XllpCcrA0SetMasterVol;
; 251 : (pDeviceContext->g_pfnGetInSampleRate)= XllpCcrA0GetInSampleRate;
; 252 : (pDeviceContext->g_pfnGetOutSampleRate)= XllpCcrA0GetOutSampleRate;
; 253 : (pDeviceContext->g_pfnSetInSampleRate)= XllpCcrA0SetInSampleRate;
; 254 : (pDeviceContext->g_pfnSetOutSampleRate)= XllpCcrA0SetOutSampleRate;
; 255 : (pDeviceContext->g_pfnEnableSspPath)= XllpCcrA0EnableSspPath;
; 256 : (pDeviceContext->g_pfnDisableSspPath)= XllpCcrA0DisableSspPath;
; 257 : (pDeviceContext->g_pfnCodecSpecificInit)= XllpCcrA0CodecSpecificInit;
; 258 : (pDeviceContext->g_pfnCodecSpecificDeInit)= XllpCcrA0CodecSpecificDeinit;
; 259 : (pDeviceContext->g_pfnACodecWrite)= XllpCcrA0CodecWrite;
; 260 : (pDeviceContext->g_pfnACodecRead)= XllpCcrA0CodecRead;
; 261 : (pDeviceContext->g_pfnEnterEquipmentState)= XllpCcrA0EnterEuipmentState;
; 262 : (pDeviceContext->g_pfnQueryEquipmentState)= XllpCcrA0QueryEquipmentState;
; 263 : XllpACodecI2SInit(pDeviceContext);
; 264 : break;*/
; 265 :
; 266 : case WM_8753_ID:
; 267 : XllpACodecI2CInit(pDeviceContext);
00118 e1a00002 mov r0, r2
0011c eb000000 bl XllpACodecI2CInit
; 268 : (pDeviceContext->g_pfnSetMasterVol)= XllpWm8753SetMasterVol;
00120 e59f3154 ldr r3, [pc, #0x154]
; 269 : (pDeviceContext->g_pfnGetInSampleRate)= XllpWm8753GetInSampleRate;
; 270 : (pDeviceContext->g_pfnGetOutSampleRate)= XllpWm8753GetOutSampleRate;
; 271 : (pDeviceContext->g_pfnSetInSampleRate)= XllpWm8753SetInSampleRate;
; 272 : (pDeviceContext->g_pfnSetOutSampleRate)= XllpWm8753SetOutSampleRate;
; 273 : (pDeviceContext->g_pfnEnableSspPath)= XllpWm8753EnableSspPath;
; 274 : (pDeviceContext->g_pfnDisableSspPath)= XllpWm8753DisableSspPath;
; 275 : (pDeviceContext->g_pfnCodecSpecificInit)= XllpWm8753CodecSpecificInit;
; 276 : (pDeviceContext->g_pfnCodecSpecificDeInit)= XllpWm8753CodecSpecificDeinit;
; 277 : (pDeviceContext->g_pfnACodecWrite)= XllpWm8753CodecWrite;
; 278 : (pDeviceContext->g_pfnACodecRead)= XllpWm8753CodecRead;
; 279 : (pDeviceContext->g_pfnEnterEquipmentState)= XllpWm8753EnterEuipmentState;
; 280 : (pDeviceContext->g_pfnQueryEquipmentState)= XllpWm8753QueryEquipmentState;
00124 e59d2000 ldr r2, [sp]
00128 e59f1148 ldr r1, [pc, #0x148]
0012c e59f0140 ldr r0, [pc, #0x140]
00130 e5823028 str r3, [r2, #0x28]
00134 e59f2134 ldr r2, [pc, #0x134]
00138 e59d3000 ldr r3, [sp]
0013c e59fe128 ldr lr, [pc, #0x128]
00140 e59f4120 ldr r4, [pc, #0x120]
00144 e59f5118 ldr r5, [pc, #0x118]
00148 e59f6110 ldr r6, [pc, #0x110]
0014c e59f7108 ldr r7, [pc, #0x108]
00150 e59f8100 ldr r8, [pc, #0x100]
00154 e59f90f8 ldr r9, [pc, #0xF8]
00158 e59fa0f0 ldr r10, [pc, #0xF0]
0015c e59fb0e8 ldr r11, [pc, #0xE8]
00160 e5832030 str r2, [r3, #0x30]
00164 e1a02003 mov r2, r3
00168 e5821034 str r1, [r2, #0x34]
0016c e282c038 add r12, r2, #0x38
00170 e88c4001 stmia r12, {r0, lr}
00174 e282c040 add r12, r2, #0x40
00178 e88c0c30 stmia r12, {r4, r5, r10, r11}
0017c e282c050 add r12, r2, #0x50
00180 e88c02c0 stmia r12, {r6, r7, r9}
00184 e582805c str r8, [r2, #0x5C]
; 281 : // XllpACodecI2SInit(pDeviceContext);
; 282 : break;
00188 ea00001b b |$L1551|
0018c |$L1557|
; 305 :
; 306 : case WM_9712_ID:
; 307 : XllpAc97ACodecInit(pDeviceContext); //codec init common to ac97
0018c e1a00002 mov r0, r2
00190 eb000000 bl XllpAc97ACodecInit
; 308 :
; 309 : //UCB1400-specific functions
; 310 : (pDeviceContext->g_pfnSetMasterVol)= XllpWm9712SetMasterVol;
; 311 : (pDeviceContext->g_pfnSetMasterInputGain)= XllpWm9712SetMasterInputGain;
00194 e59f20ac ldr r2, [pc, #0xAC]
; 312 : (pDeviceContext->g_pfnGetInSampleRate)= XllpUCBGetInSampleRate;
; 313 : (pDeviceContext->g_pfnGetOutSampleRate)= XllpWm9712GetOutSampleRate;
; 314 : (pDeviceContext->g_pfnSetInSampleRate)= XllpWm9712SetInSampleRate;
; 315 : (pDeviceContext->g_pfnSetOutSampleRate)= XllpWm9712SetOutSampleRate;
; 316 : (pDeviceContext->g_pfnEnableSspPath)= NULL;
; 317 : (pDeviceContext->g_pfnDisableSspPath)= NULL;
; 318 : (pDeviceContext->g_pfnCodecSpecificInit)= XllpWm9712SpecificInit;
; 319 : (pDeviceContext->g_pfnCodecSpecificDeInit)= XllpWm9712SpecificDeInit;
; 320 : (pDeviceContext->g_pfnACodecRead)= XllpAc97ACodecRead;
; 321 : (pDeviceContext->g_pfnACodecWrite)= XllpAc97ACodecWrite;
; 322 : (pDeviceContext->g_pfnEnterEquipmentState)= XllpWm9712EnterEquipmentState;
; 323 : (pDeviceContext->g_pfnQueryEquipmentState)= XllpWm9712GetEquipmentState;
00198 e59db000 ldr r11, [sp]
0019c e59f10a0 ldr r1, [pc, #0xA0]
001a0 e59f0098 ldr r0, [pc, #0x98]
001a4 e59fe090 ldr lr, [pc, #0x90]
001a8 e59f4088 ldr r4, [pc, #0x88]
001ac e59f5080 ldr r5, [pc, #0x80]
001b0 e59f6078 ldr r6, [pc, #0x78]
001b4 e59f7070 ldr r7, [pc, #0x70]
001b8 e59f8068 ldr r8, [pc, #0x68]
001bc e58b202c str r2, [r11, #0x2C]
001c0 e1a0200b mov r2, r11
001c4 e59f3058 ldr r3, [pc, #0x58]
001c8 e59f9050 ldr r9, [pc, #0x50]
001cc e59fa048 ldr r10, [pc, #0x48]
001d0 e5821030 str r1, [r2, #0x30]
001d4 e282c034 add r12, r2, #0x34
001d8 e88c4001 stmia r12, {r0, lr}
001dc e582403c str r4, [r2, #0x3C]
001e0 e282c050 add r12, r2, #0x50
001e4 e88c01e0 stmia r12, {r5 - r8}
001e8 |$L1664|
001e8 e58b3028 str r3, [r11, #0x28]
001ec e3a03000 mov r3, #0
001f0 e282c044 add r12, r2, #0x44
001f4 e88c0608 stmia r12, {r3, r9, r10}
001f8 e5823040 str r3, [r2, #0x40]
001fc |$L1551|
; 324 :
; 325 :
; 326 : break;
; 327 : // default:
; 328 : } //end switch
; 329 :
; 330 : pDeviceContext->g_pfnCodecSpecificInit(pDeviceContext);
001fc e5923050 ldr r3, [r2, #0x50]
00200 e1a00002 mov r0, r2
00204 e1a0e00f mov lr, pc
00208 e12fff13 bx r3
; 331 :
; 332 : return XLLP_ACODEC_SUCCESS;
0020c e3a00000 mov r0, #0
; 333 :
; 334 :
; 335 :
; 336 : }
00210 e28dd004 add sp, sp, #4
00214 e8bd4ff0 ldmia sp!, {r4 - r11, lr}
00218 e12fff1e bx lr
0021c |$L1670|
0021c 00000000 DCD |XllpWm9712GetEquipmentState|
00220 00000000 DCD |XllpWm9712EnterEquipmentState|
00224 00000000 DCD |XllpWm9712SetMasterVol|
00228 00000000 DCD |XllpAc97ACodecWrite|
0022c 00000000 DCD |XllpAc97ACodecRead|
00230 00000000 DCD |XllpWm9712SpecificDeInit|
00234 00000000 DCD |XllpWm9712SpecificInit|
00238 00000000 DCD |XllpWm9712SetOutSampleRate|
0023c 00000000 DCD |XllpWm9712SetInSampleRate|
00240 00000000 DCD |XllpWm9712GetOutSampleRate|
00244 00000000 DCD |XllpUCBGetInSampleRate|
00248 00000000 DCD |XllpWm9712SetMasterInputGain|
0024c 00000000 DCD |XllpWm8753QueryEquipmentState|
00250 00000000 DCD |XllpWm8753EnterEuipmentState|
00254 00000000 DCD |XllpWm8753CodecRead|
00258 00000000 DCD |XllpWm8753CodecWrite|
0025c 00000000 DCD |XllpWm8753CodecSpecificDeinit|
00260 00000000 DCD |XllpWm8753CodecSpecificInit|
00264 00000000 DCD |XllpWm8753DisableSspPath|
00268 00000000 DCD |XllpWm8753EnableSspPath|
0026c 00000000 DCD |XllpWm8753SetOutSampleRate|
00270 00000000 DCD |XllpWm8753GetInSampleRate|
00274 00000000 DCD |XllpWm8753SetInSampleRate|
00278 00000000 DCD |XllpWm8753GetOutSampleRate|
0027c 00000000 DCD |XllpWm8753SetMasterVol|
00280 00000000 DCD |XllpAkGetInSampleRate|
00284 00000000 DCD |XllpAKQueryEquipmentState|
00288 00000000 DCD |XllpAKEnterEuipmentState|
0028c 00000000 DCD |XllpAKCodecRead|
00290 00000000 DCD |XllpAKCodecWrite|
00294 00000000 DCD |XllpAkCodecSpecificDeinit|
00298 00000000 DCD |XllpAkCodecSpecificInit|
0029c 00000000 DCD |XllpAkDisableSspPath|
002a0 00000000 DCD |XllpAkEnableSspPath|
002a4 00000000 DCD |XllpAkGetOutSampleRate|
002a8 00000000 DCD |XllpAkSetOutSampleRate|
002ac 00000000 DCD |XllpAkSetInSampleRate|
002b0 00000000 DCD |XllpAkSetMasterVol|
002b4 00000000 DCD |XllpUCBGetEquipmentState|
002b8 00000000 DCD |XllpUCBEnterEquipmentState|
002bc 00000000 DCD |XLLPUCBSetMasterVol|
002c0 00000000 DCD |XllpUCBSpecificDeInit|
002c4 00000000 DCD |XllpUCBSpecificInit|
002c8 00000000 DCD |XllpUCBSetOutSampleRate|
002cc 00000000 DCD |XllpUCBSetInSampleRate|
002d0 00000000 DCD |XllpUCBGetOutSampleRate|
002d4 00000000 DCD |XLLPUCBSetMasterInputGain|
002d8 |$M1666|
ENDP ; |XllpACodecInit|
EXPORT |XllpACodecDeInit|
IMPORT |XllpAc97ACodecDeInit|
00000 AREA |.text| { |XllpACodecDeInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$XllpACodecDeInit|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpACodecDeInit| } ; comdat associative
|$T1679| DCD |$L1678|
DCD 0x40001801
; Function compile flags: /Ogsy
00000 AREA |.text| { |XllpACodecDeInit| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |XllpACodecDeInit| PROC
; 340 : {
00000 |$L1678|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M1676|
00004 e1a04000 mov r4, r0
; 341 :
; 342 : if (pDeviceContext->g_pfnCodecSpecificDeInit)
00008 e5943054 ldr r3, [r4, #0x54]
0000c e3530000 cmp r3, #0
; 343 : {
; 344 : pDeviceContext->g_pfnCodecSpecificDeInit(pDeviceContext);
00010 11a0e00f movne lr, pc
00014 112fff13 bxne r3
; 345 : }
; 346 : switch (pDeviceContext->ACodecId)
00018 e5942000 ldr r2, [r4]
0001c e3520003 cmp r2, #3
00020 0a000009 beq |$L1567|
00024 e3520034 cmp r2, #0x34
00028 0a000009 beq |$L1563|
0002c e352009e cmp r2, #0x9E
00030 0a000007 beq |$L1563|
00034 e3a03c43 mov r3, #0x43, 24
00038 e3833004 orr r3, r3, #4
0003c e1520003 cmp r2, r3
; 355 : break;
; 356 : default:
; 357 : return XLLP_ACODEC_NO_CODEC_ID_MATCH;
00040 13a0000b movne r0, #0xB
; 361 : }
00044 18bd4010 ldmneia sp!, {r4, lr}
00048 112fff1e bxne lr
0004c |$L1567|
; 347 : {
; 348 : case AK_2440_ID: //0x9e AKM 2440
; 349 : case WM_8753_ID:
; 350 : break;
; 351 :
; 352 : case UCB_1400_ID:
; 353 : case WM_9712_ID:
; 354 : XllpAc97ACodecDeInit(pDeviceContext);
0004c e1a00004 mov r0, r4
00050 eb000000 bl XllpAc97ACodecDeInit
00054 |$L1563|
; 358 : }
; 359 :
; 360 : return XLLP_ACODEC_SUCCESS;
00054 e3a00000 mov r0, #0
; 361 : }
00058 e8bd4010 ldmia sp!, {r4, lr}
0005c e12fff1e bx lr
00060 |$M1677|
ENDP ; |XllpACodecDeInit|
EXPORT |XllpACodecEnableCodecPcmPath|
00000 AREA |.text| { |XllpACodecEnableCodecPcmPath| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$XllpACodecEnableCodecPcmPath|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpACodecEnableCodecPcmPath| } ; comdat associative
|$T1691| DCD |$L1690|
DCD 0x40007c01
; Function compile flags: /Ogsy
00000 AREA |.text| { |XllpACodecEnableCodecPcmPath| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |XllpACodecEnableCodecPcmPath| PROC
; 375 : {
00000 |$L1690|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -