📄 xllp_usbohci_platform.cod
字号:
; 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 + -