⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xllp_acodec.cod

📁 pxa270为硬件平台的wince操作系统XLLP驱动源码
💻 COD
📖 第 1 页 / 共 4 页
字号:
; 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 + -