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

📄 xllp_usbohci_platform.cod

📁 pxa270为硬件平台的wince操作系统XLLP驱动源码
💻 COD
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4345 

	TTL	F:\wm520\PLATFORM\intel_dbpxa27x\Public\CSP\ARM\INTEL\PXA27X\XLLP\SOURCE\.\xllp_usbohci_platform.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "

	EXPORT	|XllpUsbhConfigureGlobalSleepStandbyEnable|
; File f:\wm520\platform\intel_dbpxa27x\public\csp\arm\intel\pxa27x\xllp\inc\xllp_usbohci.h

  00000			 AREA	 |.text| { |XllpUsbhConfigureGlobalSleepStandbyEnable| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$XllpUsbhConfigureGlobalSleepStandbyEnable|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpUsbhConfigureGlobalSleepStandbyEnable| } ; comdat associative
|$T951|	DCD	|$L950|
	DCD	0x40000800
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |XllpUsbhConfigureGlobalSleepStandbyEnable| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |XllpUsbhConfigureGlobalSleepStandbyEnable| PROC

; 434  : {

  00000		 |$L950|
  00000		 |$M948|

; 435  : 	if (XLLP_TRUE == enable)
; 436  :     {
; 437  :       pUsbhHandle->pUSBHRegs->UHCHR &= ~XLLP_USBOHCI_UHCHR_SSE;

  00000	e5902000	 ldr         r2, [r0]
  00004	e3510001	 cmp         r1, #1

; 438  : 	}
; 439  : 	else
; 440  : 	{
; 441  : 	  pUsbhHandle->pUSBHRegs->UHCHR |= XLLP_USBOHCI_UHCHR_SSE;
; 442  : 	}
; 443  : 
; 444  :     return (XLLP_USBH_SUCCESS);

  00008	e3a00000	 mov         r0, #0
  0000c	e5923064	 ldr         r3, [r2, #0x64]
  00010	03c33020	 biceq       r3, r3, #0x20
  00014	13833020	 orrne       r3, r3, #0x20
  00018	e5823064	 str         r3, [r2, #0x64]

; 445  : }

  0001c	e12fff1e	 bx          lr
  00020		 |$M949|

			 ENDP  ; |XllpUsbhConfigureGlobalSleepStandbyEnable|

	EXPORT	|XllpUsbhConfigurePowerSensePolarity|

  00000			 AREA	 |.text| { |XllpUsbhConfigurePowerSensePolarity| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$XllpUsbhConfigurePowerSensePolarity|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpUsbhConfigurePowerSensePolarity| } ; comdat associative
|$T963|	DCD	|$L962|
	DCD	0x40000800
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |XllpUsbhConfigurePowerSensePolarity| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |XllpUsbhConfigurePowerSensePolarity| PROC

; 451  : {

  00000		 |$L962|
  00000		 |$M960|

; 452  : 	if (XLLP_HI == level)
; 453  :     {
; 454  :       pUsbhHandle->pUSBHRegs->UHCHR &= ~XLLP_USBOHCI_UHCHR_PSPL;

  00000	e5902000	 ldr         r2, [r0]
  00004	e3510001	 cmp         r1, #1

; 455  : 	}
; 456  : 	else
; 457  : 	{
; 458  : 	  pUsbhHandle->pUSBHRegs->UHCHR |= XLLP_USBOHCI_UHCHR_PSPL;
; 459  : 	}
; 460  : 
; 461  :     return (XLLP_USBH_SUCCESS);

  00008	e3a00000	 mov         r0, #0
  0000c	e5923064	 ldr         r3, [r2, #0x64]
  00010	03c33040	 biceq       r3, r3, #0x40
  00014	13833040	 orrne       r3, r3, #0x40
  00018	e5823064	 str         r3, [r2, #0x64]

; 462  : }

  0001c	e12fff1e	 bx          lr
  00020		 |$M961|

			 ENDP  ; |XllpUsbhConfigurePowerSensePolarity|

	EXPORT	|XllpUsbhConfigurePowerControlPolarity|

  00000			 AREA	 |.text| { |XllpUsbhConfigurePowerControlPolarity| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$XllpUsbhConfigurePowerControlPolarity|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpUsbhConfigurePowerControlPolarity| } ; comdat associative
|$T975|	DCD	|$L974|
	DCD	0x40000800
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |XllpUsbhConfigurePowerControlPolarity| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |XllpUsbhConfigurePowerControlPolarity| PROC

; 468  : {

  00000		 |$L974|
  00000		 |$M972|

; 469  : 	if (XLLP_HI == level)
; 470  :     {
; 471  :       pUsbhHandle->pUSBHRegs->UHCHR &= ~XLLP_USBOHCI_UHCHR_PCPL;

  00000	e5902000	 ldr         r2, [r0]
  00004	e3510001	 cmp         r1, #1

; 472  : 	}
; 473  : 	else
; 474  : 	{
; 475  : 	  pUsbhHandle->pUSBHRegs->UHCHR |= XLLP_USBOHCI_UHCHR_PCPL;
; 476  : 	}
; 477  : 
; 478  :     return (XLLP_USBH_SUCCESS);

  00008	e3a00000	 mov         r0, #0
  0000c	e5923064	 ldr         r3, [r2, #0x64]
  00010	03c33080	 biceq       r3, r3, #0x80
  00014	13833080	 orrne       r3, r3, #0x80
  00018	e5823064	 str         r3, [r2, #0x64]

; 479  : }

  0001c	e12fff1e	 bx          lr
  00020		 |$M973|

			 ENDP  ; |XllpUsbhConfigurePowerControlPolarity|

	EXPORT	|XllpUsbhPortEnableOverCurrentNotification|
	IMPORT	|XllpGpioSetDirectionIn|
	IMPORT	|XllpGpioSetAlternateFn|
; File f:\wm520\platform\intel_dbpxa27x\public\csp\arm\intel\pxa27x\xllp\source\xllp_usbohci_platform.c

  00000			 AREA	 |.text| { |XllpUsbhPortEnableOverCurrentNotification| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$XllpUsbhPortEnableOverCurrentNotification|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpUsbhPortEnableOverCurrentNotification| } ; comdat associative
|$T986|	DCD	|$L985|
	DCD	0x40001a02
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |XllpUsbhPortEnableOverCurrentNotification| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |XllpUsbhPortEnableOverCurrentNotification| PROC

; 59   : {

  00000		 |$L985|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004	e24dd01c	 sub         sp, sp, #0x1C
  00008		 |$M983|
  00008	e1a04000	 mov         r4, r0

; 60   : 	unsigned long  ulPinArrayParms[3];
; 61   :     unsigned long  ulAlternateFunctionParms[3];
; 62   : 
; 63   : 	if (Port == XLLP_USBH_PORT_1)

  0000c	e3510001	 cmp         r1, #1
  00010	1a000010	 bne         |$L894|

; 64   : 	{
; 65   :      // Configure GPIO 88 as follows:
; 66   :      //		Direction: Input
; 67   :      //		Alternate function: 1
; 68   : 
; 69   :     // direction & alternate function gpio apis both use the same pin array
; 70   :     ulPinArrayParms[0] = 1;
; 71   :     ulPinArrayParms[1] = 88;
; 72   : 
; 73   :     XllpGpioSetDirectionIn( pUsbhHandle->pGPIORegs, ulPinArrayParms );

  00014	e5940004	 ldr         r0, [r4, #4]
  00018	e3a03001	 mov         r3, #1
  0001c	e3a02058	 mov         r2, #0x58
  00020	e28d1000	 add         r1, sp, #0
  00024	e58d3000	 str         r3, [sp]
  00028	e58d2004	 str         r2, [sp, #4]
  0002c	eb000000	 bl          XllpGpioSetDirectionIn

; 74   : 
; 75   :     ulAlternateFunctionParms[0] = 1;
; 76   :     ulAlternateFunctionParms[1] = XLLP_GPIO_ALT_FN_1;
; 77   :     XllpGpioSetAlternateFn( pUsbhHandle->pGPIORegs, ulPinArrayParms, ulAlternateFunctionParms );

  00030	e5940004	 ldr         r0, [r4, #4]
  00034	e3a0e001	 mov         lr, #1
  00038	e3a03001	 mov         r3, #1
  0003c	e28d2010	 add         r2, sp, #0x10
  00040	e28d1000	 add         r1, sp, #0
  00044	e58de014	 str         lr, [sp, #0x14]
  00048	e58d3010	 str         r3, [sp, #0x10]
  0004c	eb000000	 bl          XllpGpioSetAlternateFn

; 78   :     return (XLLP_USBH_SUCCESS);

  00050	e3a00000	 mov         r0, #0
  00054	ea000000	 b           |$L895|
  00058		 |$L894|

; 79   : 	}
; 80   : 	else
; 81   : 	return (XLLP_USBH_FEATURE_NOT_SUPPORTED);

  00058	e3a00006	 mov         r0, #6
  0005c		 |$L895|

; 82   : 
; 83   : }

  0005c	e28dd01c	 add         sp, sp, #0x1C
  00060	e8bd4010	 ldmia       sp!, {r4, lr}
  00064	e12fff1e	 bx          lr
  00068		 |$M984|

			 ENDP  ; |XllpUsbhPortEnableOverCurrentNotification|

	EXPORT	|XllpUsbhPortEnablePower|
	IMPORT	|XllpGpioSetDirectionOut|
	IMPORT	|XllpGpioSetOutput0|

  00000			 AREA	 |.text| { |XllpUsbhPortEnablePower| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$XllpUsbhPortEnablePower|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpUsbhPortEnablePower| } ; comdat associative
|$T997|	DCD	|$L996|
	DCD	0x40001d02
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |XllpUsbhPortEnablePower| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |XllpUsbhPortEnablePower| PROC

; 116  : {

  00000		 |$L996|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004	e24dd01c	 sub         sp, sp, #0x1C
  00008		 |$M994|

⌨️ 快捷键说明

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