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

📄 basei2s.cod

📁 CS4245 Wince驱动
💻 COD
📖 第 1 页 / 共 5 页
字号:
	DCD	0x40008e01

  00000			 AREA	 |.rdata| { |??_C@_1GE@GMDDECGJ@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GE@GMDDECGJ@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| DCB "A"
	DCB	0x0, "n", 0x0, "d", 0x0, "r", 0x0, "e", 0x0, "w", 0x0, "!"
	DCB	0x0, "!", 0x0, " ", 0x0, "M", 0x0, "F", 0x0, "P", 0x0, "_"
	DCB	0x0, "A", 0x0, "l", 0x0, "l", 0x0, "o", 0x0, "c", 0x0, "R"
	DCB	0x0, "e", 0x0, "g", 0x0, "i", 0x0, "s", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "B", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " "
	DCB	0x0, "m", 0x0, "_", 0x0, "d", 0x0, "m", 0x0, "a", 0x0, "_"
	DCB	0x0, "r", 0x0, "e", 0x0, "c", 0x0, " ", 0x0, "F", 0x0, "A"
	DCB	0x0, "I", 0x0, "L", 0x0, "E", 0x0, "D", 0x0, 0x9, 0x0, 0xa
	DCB	0x0, 0x0, 0x0				; `string'

  00000			 AREA	 |.rdata| { |??_C@_1GG@BNDIIIOO@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GG@BNDIIIOO@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| DCB "A"
	DCB	0x0, "n", 0x0, "d", 0x0, "r", 0x0, "e", 0x0, "w", 0x0, "!"
	DCB	0x0, "!", 0x0, " ", 0x0, "M", 0x0, "F", 0x0, "P", 0x0, "_"
	DCB	0x0, "A", 0x0, "l", 0x0, "l", 0x0, "o", 0x0, "c", 0x0, "R"
	DCB	0x0, "e", 0x0, "g", 0x0, "i", 0x0, "s", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "B", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " "
	DCB	0x0, "m", 0x0, "_", 0x0, "d", 0x0, "m", 0x0, "a", 0x0, "_"
	DCB	0x0, "p", 0x0, "l", 0x0, "a", 0x0, "y", 0x0, " ", 0x0, "F"
	DCB	0x0, "A", 0x0, "I", 0x0, "L", 0x0, "E", 0x0, "D", 0x0, 0x9
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1GA@PIKEJFKP@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GA@PIKEJFKP@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAM?$AAF?$AAP?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAR?$AAe@| DCB "A"
	DCB	0x0, "n", 0x0, "d", 0x0, "r", 0x0, "e", 0x0, "w", 0x0, "!"
	DCB	0x0, "!", 0x0, " ", 0x0, "M", 0x0, "F", 0x0, "P", 0x0, "_"
	DCB	0x0, "A", 0x0, "l", 0x0, "l", 0x0, "o", 0x0, "c", 0x0, "R"
	DCB	0x0, "e", 0x0, "g", 0x0, "i", 0x0, "s", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "B", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " "
	DCB	0x0, "m", 0x0, "_", 0x0, "a", 0x0, "u", 0x0, "d", 0x0, "i"
	DCB	0x0, "o", 0x0, " ", 0x0, "F", 0x0, "A", 0x0, "I", 0x0, "L"
	DCB	0x0, "E", 0x0, "D", 0x0, 0x9, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1DC@MEKBLJDN@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAB?$AAA?$AAS?$AAE?$AAI?$AA2?$AAS?$AA?3?$AA?3?$AAo?$AAp@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DC@MEKBLJDN@?$AAA?$AAn?$AAd?$AAr?$AAe?$AAw?$AA?$CB?$AA?$CB?$AA?5?$AAB?$AAA?$AAS?$AAE?$AAI?$AA2?$AAS?$AA?3?$AA?3?$AAo?$AAp@| DCB "A"
	DCB	0x0, "n", 0x0, "d", 0x0, "r", 0x0, "e", 0x0, "w", 0x0, "!"
	DCB	0x0, "!", 0x0, " ", 0x0, "B", 0x0, "A", 0x0, "S", 0x0, "E"
	DCB	0x0, "I", 0x0, "2", 0x0, "S", 0x0, ":", 0x0, ":", 0x0, "o"
	DCB	0x0, "p", 0x0, "e", 0x0, "n", 0x0, 0x9, 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Open@BASEI2S@@QAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?Open@BASEI2S@@QAAHXZ| PROC		; BASEI2S::Open

; 280  : {

  00000		 |$L37303|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M37301|
  00004	e1a04000	 mov         r4, r0

; 281  : 	RETAILMSG(1, (TEXT("Andrew!! BASEI2S::open\t\n")));

  00008	e59f0224	 ldr         r0, [pc, #0x224]
  0000c	eb000000	 bl          NKDbgPrintfW

; 282  : 
; 283  : 
; 284  : 
; 285  : 	if(!MFP_AllocRegisterBase(&m_audio, PHY_BASEADDR_AUDIO ))

  00010	e3a01103	 mov         r1, #3, 2
  00014	e3811b36	 orr         r1, r1, #0x36, 22
  00018	e2840048	 add         r0, r4, #0x48
  0001c	eb000000	 bl          |?MFP_AllocRegisterBase@@YAHPAVMES_IModule@@K@Z|
  00020	e3500000	 cmp         r0, #0

; 286  : 	{
; 287  : 		RETAILMSG(1, (TEXT("Andrew!! MFP_AllocRegisterBase m_audio FAILED\t\n")));

  00024	059f0204	 ldreq       r0, [pc, #0x204]
  00028	0a00000d	 beq         |$L37300|

; 288  : 		return FALSE;
; 289  : 	}
; 290  : //	if (MapRegisters()==FALSE) return FALSE;
; 291  : 	if(!MFP_AllocRegisterBase(&m_dma_play, PHY_BASEADDR_DMA + (DMA_AUDIO_PLAY * DMA_CHANNEL_OFFSET) ))

  0002c	e3a01103	 mov         r1, #3, 2
  00030	e3811c03	 orr         r1, r1, #3, 24
  00034	e2840020	 add         r0, r4, #0x20
  00038	eb000000	 bl          |?MFP_AllocRegisterBase@@YAHPAVMES_IModule@@K@Z|
  0003c	e3500000	 cmp         r0, #0

; 292  : 	{
; 293  : 		RETAILMSG(1, (TEXT("Andrew!! MFP_AllocRegisterBase m_dma_play FAILED\t\n")));

  00040	059f01e4	 ldreq       r0, [pc, #0x1E4]
  00044	0a000006	 beq         |$L37300|

; 294  : 		return FALSE;
; 295  : 	}
; 296  : 
; 297  : 	if(!MFP_AllocRegisterBase(&m_dma_rec, PHY_BASEADDR_DMA + (DMA_AUDIO_REC * DMA_CHANNEL_OFFSET) ))

  00048	e3a01103	 mov         r1, #3, 2
  0004c	e3811d12	 orr         r1, r1, #0x12, 26
  00050	e2840034	 add         r0, r4, #0x34
  00054	eb000000	 bl          |?MFP_AllocRegisterBase@@YAHPAVMES_IModule@@K@Z|
  00058	e3500000	 cmp         r0, #0
  0005c	1a000004	 bne         |$L36268|

; 298  : 	{
; 299  : 		RETAILMSG(1, (TEXT("Andrew!! MFP_AllocRegisterBase m_dma_rec FAILED\t\n")));

  00060	e59f01c0	 ldr         r0, [pc, #0x1C0]
  00064		 |$L37300|
  00064	eb000000	 bl          NKDbgPrintfW

; 300  : 		return FALSE;

  00068	e3a00000	 mov         r0, #0

; 465  : }

  0006c	e8bd4010	 ldmia       sp!, {r4, lr}
  00070	e12fff1e	 bx          lr
  00074		 |$L36268|

; 301  : 	}
; 302  : 
; 303  : 
; 304  : 	//MES_SetOutputValueBit(OEM_GPIO_I2S_RST, OEM_GPIO_I2S_RST_AL);
; 305  : 
; 306  : 
; 307  : 
; 308  : 	//--------------------------------------------------------------------------
; 309  : 	// Initialize Prototype
; 310  : 	//--------------------------------------------------------------------------
; 311  : /*
; 312  : 	m_dma_play.SetPhysicalAddress(PHY_BASEADDR_DMA);
; 313  : 
; 314  : 	m_dma_play.SetVirtualAddressOfRegisterSet(
; 315  : 					0,
; 316  : 					(U32)m_pDMAregs+(OEM_DMA_CHANNEL_AUDIO_PLAY * DMA_CHANNEL_OFFSET));
; 317  : 
; 318  : 	m_dma_play.SetAttribute(MES_DMA03::OPMODE_MEM_TO_IO,16,CTRUE,CTRUE);
; 319  : 
; 320  : 	m_dma_rec.SetPhysicalAddress(PHY_BASEADDR_DMA);
; 321  : 
; 322  : 	m_dma_rec.SetVirtualAddressOfRegisterSet(
; 323  : 					0,
; 324  : 					(U32)m_pDMAregs+(OEM_DMA_CHANNEL_AUDIO_REC * DMA_CHANNEL_OFFSET));
; 325  : 
; 326  : 
; 327  : 
; 328  : 	// I2S Initialize
; 329  : 	m_audio.SetPhysicalAddress(VIR_BASEADDR_AUDIO);
; 330  : */
; 331  : 	//------------------------------------------------------------------------------
; 332  : 	// Set Audio Clock Register
; 333  : 	//------------------------------------------------------------------------------
; 334  : 
; 335  : /*
; 336  : 
; 337  :     // setting CLKGEN0
; 338  :     m_audio.SetClockSource( 0, 2 );          // PLL2
; 339  :     m_audio.SetClockDivisor( 0, 8 );        // div 8
; 340  :     m_audio.SetClockOutInv( 0, CFALSE );
; 341  : 
; 342  :     m_audio.SetClockSource( 1, 7 );          // Bit Clock
; 343  :     m_audio.SetClockDivisor( 1, 4 );         // div 1
; 344  :     m_audio.SetClockOutInv( 1, CFALSE );
; 345  :     m_audio.SetClockOutEnb( 1, CTRUE );     // Input
; 346  : 
; 347  : */
; 348  : 
; 349  : #if 1
; 350  : 	m_audio.SetClockDivisorEnable( CFALSE );

  00074	e2840050	 add         r0, r4, #0x50
  00078	e3a01000	 mov         r1, #0
  0007c	eb000000	 bl          |?SetClockDivisorEnable@MES_IClockControl@@QAAXH@Z|

; 351  :     // setting CLKGEN0
; 352  :     m_audio.SetClockSource( 0, 2 );          // PLL2

  00080	e3a02002	 mov         r2, #2
  00084	e3a01000	 mov         r1, #0
  00088	e2840050	 add         r0, r4, #0x50
  0008c	eb000000	 bl          |?SetClockSource@MES_IClockControl@@QAAXKK@Z|

; 353  :     m_audio.SetClockDivisor( 0, 8 );        // div 8

  00090	e3a02008	 mov         r2, #8
  00094	e3a01000	 mov         r1, #0
  00098	e2840050	 add         r0, r4, #0x50
  0009c	eb000000	 bl          |?SetClockDivisor@MES_IClockControl@@QAAXKK@Z|

; 354  :     m_audio.SetClockOutInv( 0, CFALSE );

  000a0	e3a02000	 mov         r2, #0
  000a4	e3a01000	 mov         r1, #0
  000a8	e2840050	 add         r0, r4, #0x50
  000ac	eb000000	 bl          |?SetClockOutInv@MES_IClockControl@@QAAXKH@Z|

; 355  :     
; 356  :     m_audio.SetClockSource( 1, 7 );          // Bit Clock

  000b0	e3a02007	 mov         r2, #7
  000b4	e3a01001	 mov         r1, #1
  000b8	e2840050	 add         r0, r4, #0x50
  000bc	eb000000	 bl          |?SetClockSource@MES_IClockControl@@QAAXKK@Z|

; 357  :     m_audio.SetClockDivisor( 1, 4 );         // div 1

  000c0	e3a02004	 mov         r2, #4
  000c4	e3a01001	 mov         r1, #1
  000c8	e2840050	 add         r0, r4, #0x50
  000cc	eb000000	 bl          |?SetClockDivisor@MES_IClockControl@@QAAXKK@Z|

; 358  :     m_audio.SetClockOutInv( 1, CFALSE );

  000d0	e3a02000	 mov         r2, #0
  000d4	e3a01001	 mov         r1, #1
  000d8	e2840050	 add         r0, r4, #0x50
  000dc	eb000000	 bl          |?SetClockOutInv@MES_IClockControl@@QAAXKH@Z|

; 359  :     m_audio.SetClockOutEnb( 1, CTRUE );     // Input

  000e0	e3a02001	 mov         r2, #1
  000e4	e3a01001	 mov         r1, #1
  000e8	e2840050	 add         r0, r4, #0x50
  000ec	eb000000	 bl          |?SetClockOutEnb@MES_IClockControl@@QAAXKH@Z|

; 360  : 
; 361  : #else
; 362  : 
; 363  : 	m_audio.SetClockDivisorEnable( CFALSE );
; 364  : 
; 365  :     // setting CLKGEN0
; 366  :     m_audio.SetClockSource( 0, 7 );          // None
; 367  :     m_audio.SetClockDivisor( 0, 1 );        // div 1
; 368  :     m_audio.SetClockOutInv( 0, CFALSE );
; 369  : 
; 370  :     // setting CLKGEN1
; 371  :     m_audio.SetClockSource( 1, 3 );          // Bit Clk
; 372  :     m_audio.SetClockDivisor( 1, 1 );         // div 1
; 373  :     m_audio.SetClockOutInv( 1, CFALSE );
; 374  :     m_audio.SetClockOutEnb( 1, CFALSE );     // output
; 375  : 
; 376  :     // setting CLKENB
; 377  :     m_audio.SetClockPClkMode( MES_IClockControl::PCLKMODE_ALWAYS  );  // Always
; 378  : //    m_audio.SetClockBClkMode( MES_IClockControl::BCLKMODE_ALWAYS );  //  Always
; 379  : 
; 380  : 
; 381  : #endif
; 382  : 
; 383  : 
; 384  : 
; 385  :     // setting CLKENB
; 386  :     m_audio.SetClockPClkMode( MES_IClockControl::PCLKMODE_ALWAYS  );  // Always

  000f0	e3a01001	 mov         r1, #1
  000f4	e2840050	 add         r0, r4, #0x50
  000f8	eb000000	 bl          |?SetClockPClkMode@MES_IClockControl@@QAAXW4PCLKMODE@1@@Z|

; 387  :     m_audio.SetClockBClkMode( MES_IClockControl::BCLKMODE_DISABLE );  // Disable

  000fc	e3a01000	 mov         r1, #0
  00100	e2840050	 add         r0, r4, #0x50
  00104	eb000000	 bl          |?SetClockBClkMode@MES_IClockControl@@QAAXW4BCLKMODE@1@@Z|

; 388  :     m_audio.SetClockDivisorEnable( CTRUE);

  00108	e3a01001	 mov         r1, #1
  0010c	e2840050	 add         r0, r4, #0x50
  00110	eb000000	 bl          |?SetClockDivisorEnable@MES_IClockControl@@QAAXH@Z|

; 389  : 
; 390  : 
; 391  : 
; 392  : //	m_audio.SetVirtualAddressOfRegisterSet(0, (U32)m_pAUDIOregs);
; 393  : 
; 394  : 	m_audio.SetAC97ColdReset(CTRUE);

  00114	e3a01001	 mov         r1, #1
  00118	e2840048	 add         r0, r4, #0x48
  0011c	eb000000	 bl          |?SetAC97ColdReset@MES_AUDIO03@@QAAXH@Z|

; 395  : 	Sleep(10);

  00120	e3a0000a	 mov         r0, #0xA
  00124	eb000000	 bl          Sleep

; 396  : 
; 397  : 	m_audio.SetAC97ColdReset(CFALSE);

  00128	e3a01000	 mov         r1, #0
  0012c	e2840048	 add         r0, r4, #0x48
  00130	eb000000	 bl          |?SetAC97ColdReset@MES_AUDIO03@@QAAXH@Z|

; 398  : 
; 399  :     // AC97 Off
; 400  :     m_audio.SetAC97ControllerReset( CTRUE );

  00134	e3a01001	 mov         r1, #1
  00138	e2840048	 add         r0, r4, #0x48
  0013c	eb000000	 bl          |?SetAC97ControllerReset@MES_AUDIO03@@QAAXH@Z|

; 401  :     m_audio.SetAC97LinkOn( CFALSE );

  00140	e3a01000	 mov         r1, #0
  00144	e2840048	 add         r0, r4, #0x48
  00148	eb000000	 bl          |?SetAC97LinkOn@MES_AUDIO03@@QAAXH@Z|

; 402  : 
; 403  :     // I2S Setting to FALSE
; 404  :     m_audio.SetI2SControllerReset( CTRUE );

  0014c	e3a01001	 mov         r1, #1
  00150	e2840048	 add         r0, r4, #0x48
  00154	eb000000	 bl          |?SetI2SControllerReset@MES_AUDIO03@@QAAXH@Z|

; 405  :     m_audio.SetI2SLinkOn( CFALSE );

  00158	e3a01000	 mov         r1, #0
  0015c	e2840048	 add         r0, r4, #0x48
  00160	eb000000	 bl          |?SetI2SLinkOn@MES_AUDIO03@@QAAXH@Z|

; 406  : 
; 407  :     // AC97 Off
; 408  :     m_audio.SetAC97ControllerReset( CTRUE );

  00164	e3a01001	 mov         r1, #1
  00168	e2840048	 add         r0, r4, #0x48
  0016c	eb000000	 bl          |?SetAC97ControllerReset@MES_AUDIO03@@QAAXH@Z|

; 409  :     m_audio.SetAC97LinkOn( CFALSE );

  00170	e3a01000	 mov         r1, #0
  00174	e2840048	 add         r0, r4, #0x48
  00178	eb000000	 bl          |?SetAC97LinkOn@MES_AUDIO03@@QAAXH@Z|

; 410  : 
; 411  : 	// I2S Setting to TRUE
; 412  : 	m_audio.SetI2SControllerReset( CFALSE );

  0017c	e3a01000	 mov         r1, #0
  00180	e2840048	 add         r0, r4, #0x48
  00184	eb000000	 bl          |?SetI2SControllerReset@MES_AUDIO03@@QAAXH@Z|

; 413  : 	m_audio.SetI2SLinkOn( CTRUE );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -