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

📄 active.cod

📁 wince6.0 arm LCD 驱动源码 DDshow
💻 COD
📖 第 1 页 / 共 2 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01 

	TTL	D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\Display\common\active.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:LIBCMT "
	DCB	"-defaultlib:OLDNAMES "

	EXPORT	|ActiveInit|
	IMPORT	|PXA_LCDActiveInitController|
	IMPORT	|PXA_LCDInitDMADescriptor|

  00000			 AREA	 |.pdata|, PDATA
|$T41374| DCD	|$LN5@ActiveInit|
	DCD	0x40004c04
; Function compile flags: /Odtp
; File d:\wince600\platform\m-stone\src\drivers\display\common\active.c

  00000			 AREA	 |.text|, CODE, ARM

  00000		 |ActiveInit| PROC

; 44   : {

  00000		 |$LN5@ActiveInit|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd014	 sub         sp, sp, #0x14
  00010		 |$M41371|

; 45   :     PXA_STATUS_T status;
; 46   :     UINT32 buf_size;
; 47   : 
; 48   :     buf_size = lcd->panel->config.width * lcd->panel->config.height * (lcd->panel->config.bpp >> 3);

  00010	e59d301c	 ldr         r3, [sp, #0x1C]
  00014	e2833028	 add         r3, r3, #0x28
  00018	e5933000	 ldr         r3, [r3]
  0001c	e283200c	 add         r2, r3, #0xC
  00020	e59d301c	 ldr         r3, [sp, #0x1C]
  00024	e2833028	 add         r3, r3, #0x28
  00028	e5933000	 ldr         r3, [r3]
  0002c	e2833010	 add         r3, r3, #0x10
  00030	e5921000	 ldr         r1, [r2]
  00034	e5933000	 ldr         r3, [r3]
  00038	e0020391	 mul         r2, r1, r3
  0003c	e59d301c	 ldr         r3, [sp, #0x1C]
  00040	e2833028	 add         r3, r3, #0x28
  00044	e5933000	 ldr         r3, [r3]
  00048	e2833014	 add         r3, r3, #0x14
  0004c	e5933000	 ldr         r3, [r3]
  00050	e1a031a3	 mov         r3, r3, lsr #3
  00054	e0030392	 mul         r3, r2, r3
  00058	e58d3000	 str         r3, [sp]

; 49   : 
; 50   :     status = lcd->panel->init(lcd->panel);

  0005c	e59d301c	 ldr         r3, [sp, #0x1C]
  00060	e2833028	 add         r3, r3, #0x28
  00064	e5930000	 ldr         r0, [r3]
  00068	e59d301c	 ldr         r3, [sp, #0x1C]
  0006c	e2833028	 add         r3, r3, #0x28
  00070	e5933000	 ldr         r3, [r3]
  00074	e2833004	 add         r3, r3, #4
  00078	e5933000	 ldr         r3, [r3]
  0007c	e1a0e00f	 mov         lr, pc
  00080	e12fff13	 bx          r3
  00084	e58d000c	 str         r0, [sp, #0xC]
  00088	e59d300c	 ldr         r3, [sp, #0xC]
  0008c	e58d3004	 str         r3, [sp, #4]

; 51   : 
; 52   :     PXA_LCDInitDMADescriptor(&lcd->dma_descs[0], lcd->dma_descs[0].FDADR, base_phy, buf_size);

  00090	e59d3000	 ldr         r3, [sp]
  00094	e59d2020	 ldr         r2, [sp, #0x20]
  00098	e59d101c	 ldr         r1, [sp, #0x1C]
  0009c	e2811024	 add         r1, r1, #0x24
  000a0	e5911000	 ldr         r1, [r1]
  000a4	e5911000	 ldr         r1, [r1]
  000a8	e59d001c	 ldr         r0, [sp, #0x1C]
  000ac	e2800024	 add         r0, r0, #0x24
  000b0	e5900000	 ldr         r0, [r0]
  000b4	eb000000	 bl          PXA_LCDInitDMADescriptor

; 53   :     PXA_LCDActiveInitController(lcd->lcd_regs, &lcd->panel->config, &lcd->dma_descs[0]);

  000b8	e59d301c	 ldr         r3, [sp, #0x1C]
  000bc	e2833024	 add         r3, r3, #0x24
  000c0	e5932000	 ldr         r2, [r3]
  000c4	e59d301c	 ldr         r3, [sp, #0x1C]
  000c8	e2833028	 add         r3, r3, #0x28
  000cc	e5933000	 ldr         r3, [r3]
  000d0	e283100c	 add         r1, r3, #0xC
  000d4	e59d301c	 ldr         r3, [sp, #0x1C]
  000d8	e283301c	 add         r3, r3, #0x1C
  000dc	e5930000	 ldr         r0, [r3]
  000e0	eb000000	 bl          PXA_LCDActiveInitController

; 54   :     
; 55   :     status = lcd->panel->post_init(lcd->panel);

  000e4	e59d301c	 ldr         r3, [sp, #0x1C]
  000e8	e2833028	 add         r3, r3, #0x28
  000ec	e5930000	 ldr         r0, [r3]
  000f0	e59d301c	 ldr         r3, [sp, #0x1C]
  000f4	e2833028	 add         r3, r3, #0x28
  000f8	e5933000	 ldr         r3, [r3]
  000fc	e2833008	 add         r3, r3, #8
  00100	e5933000	 ldr         r3, [r3]
  00104	e1a0e00f	 mov         lr, pc
  00108	e12fff13	 bx          r3
  0010c	e58d0010	 str         r0, [sp, #0x10]
  00110	e59d3010	 ldr         r3, [sp, #0x10]
  00114	e58d3004	 str         r3, [sp, #4]

; 56   :     return status;

  00118	e59d3004	 ldr         r3, [sp, #4]
  0011c	e58d3008	 str         r3, [sp, #8]

; 57   : }

  00120	e59d0008	 ldr         r0, [sp, #8]
  00124	e28dd014	 add         sp, sp, #0x14
  00128	e89d6000	 ldmia       sp, {sp, lr}
  0012c	e12fff1e	 bx          lr
  00130		 |$M41372|

			 ENDP  ; |ActiveInit|

	EXPORT	|ActiveResume|

  00008			 AREA	 |.pdata|, PDATA
|$T41379| DCD	|$LN5@ActiveResu|
	DCD	0x40001a03
; Function compile flags: /Odtp

  00130			 AREA	 |.text|, CODE, ARM

  00130		 |ActiveResume| PROC

; 60   : {

  00130		 |$LN5@ActiveResu|
  00130	e1a0c00d	 mov         r12, sp
  00134	e92d0001	 stmdb       sp!, {r0}
  00138	e92d5000	 stmdb       sp!, {r12, lr}
  0013c		 |$M41376|

; 61   :     lcd->panel->set_power_mode(lcd->panel, 1);

  0013c	e3a01001	 mov         r1, #1
  00140	e59d3008	 ldr         r3, [sp, #8]
  00144	e2833028	 add         r3, r3, #0x28
  00148	e5930000	 ldr         r0, [r3]
  0014c	e59d3008	 ldr         r3, [sp, #8]
  00150	e2833028	 add         r3, r3, #0x28
  00154	e5933000	 ldr         r3, [r3]
  00158	e5933000	 ldr         r3, [r3]
  0015c	e1a0e00f	 mov         lr, pc
  00160	e12fff13	 bx          r3

; 62   :     PXA_LCDActiveInitController(lcd->lcd_regs, &lcd->panel->config, &lcd->dma_descs[0]);

  00164	e59d3008	 ldr         r3, [sp, #8]
  00168	e2833024	 add         r3, r3, #0x24
  0016c	e5932000	 ldr         r2, [r3]
  00170	e59d3008	 ldr         r3, [sp, #8]
  00174	e2833028	 add         r3, r3, #0x28
  00178	e5933000	 ldr         r3, [r3]
  0017c	e283100c	 add         r1, r3, #0xC
  00180	e59d3008	 ldr         r3, [sp, #8]
  00184	e283301c	 add         r3, r3, #0x1C
  00188	e5930000	 ldr         r0, [r3]
  0018c	eb000000	 bl          PXA_LCDActiveInitController

; 63   : }

  00190	e89d6000	 ldmia       sp, {sp, lr}
  00194	e12fff1e	 bx          lr
  00198		 |$M41377|

			 ENDP  ; |ActiveResume|

	EXPORT	|ActiveSuspend|
	IMPORT	|PXA_LCDSuspendController|
	IMPORT	|PXA_OST_DelayMilliSeconds|
	IMPORT	|PXA_LCDTurnOffBaseFrame|

  00010			 AREA	 |.pdata|, PDATA
|$T41384| DCD	|$LN5@ActiveSusp|
	DCD	0x40001d03
; Function compile flags: /Odtp

  00198			 AREA	 |.text|, CODE, ARM

  00198		 |ActiveSuspend| PROC

; 66   : {

  00198		 |$LN5@ActiveSusp|
  00198	e1a0c00d	 mov         r12, sp
  0019c	e92d0001	 stmdb       sp!, {r0}
  001a0	e92d5000	 stmdb       sp!, {r12, lr}
  001a4		 |$M41381|

; 67   :     PXA_LCDTurnOffBaseFrame(lcd->lcd_regs, 0, 0, 0);

  001a4	e3a03000	 mov         r3, #0
  001a8	e3a02000	 mov         r2, #0
  001ac	e3a01000	 mov         r1, #0
  001b0	e59d0008	 ldr         r0, [sp, #8]
  001b4	e280001c	 add         r0, r0, #0x1C
  001b8	e5900000	 ldr         r0, [r0]
  001bc	eb000000	 bl          PXA_LCDTurnOffBaseFrame

; 68   :     PXA_OST_DelayMilliSeconds(40);

  001c0	e3a00028	 mov         r0, #0x28
  001c4	eb000000	 bl          PXA_OST_DelayMilliSeconds

; 69   :     PXA_LCDSuspendController(lcd->lcd_regs, 0);

  001c8	e3a01000	 mov         r1, #0
  001cc	e59d3008	 ldr         r3, [sp, #8]
  001d0	e283301c	 add         r3, r3, #0x1C
  001d4	e5930000	 ldr         r0, [r3]
  001d8	eb000000	 bl          PXA_LCDSuspendController

; 70   :     lcd->panel->set_power_mode(lcd->panel, 0);

  001dc	e3a01000	 mov         r1, #0
  001e0	e59d3008	 ldr         r3, [sp, #8]
  001e4	e2833028	 add         r3, r3, #0x28
  001e8	e5930000	 ldr         r0, [r3]
  001ec	e59d3008	 ldr         r3, [sp, #8]
  001f0	e2833028	 add         r3, r3, #0x28
  001f4	e5933000	 ldr         r3, [r3]
  001f8	e5933000	 ldr         r3, [r3]
  001fc	e1a0e00f	 mov         lr, pc
  00200	e12fff13	 bx          r3

; 71   : }

  00204	e89d6000	 ldmia       sp, {sp, lr}
  00208	e12fff1e	 bx          lr
  0020c		 |$M41382|

			 ENDP  ; |ActiveSuspend|

	EXPORT	|ActiveFlip|
	IMPORT	|PXA_LCDActiveFlip|

  00018			 AREA	 |.pdata|, PDATA
|$T41389| DCD	|$LN5@ActiveFlip|
	DCD	0x40001403
; Function compile flags: /Odtp

  0020c			 AREA	 |.text|, CODE, ARM

  0020c		 |ActiveFlip| PROC

; 74   : {

  0020c		 |$LN5@ActiveFlip|
  0020c	e1a0c00d	 mov         r12, sp
  00210	e92d0003	 stmdb       sp!, {r0, r1}
  00214	e92d5000	 stmdb       sp!, {r12, lr}
  00218		 |$M41386|

; 75   :     lcd->dma_descs[0].FSADR = FSADR_SRCADDR(frame_phy_addr);

  00218	e59d200c	 ldr         r2, [sp, #0xC]
  0021c	e3e03007	 mvn         r3, #7
  00220	e0022003	 and         r2, r2, r3
  00224	e59d3008	 ldr         r3, [sp, #8]
  00228	e2833024	 add         r3, r3, #0x24
  0022c	e5933000	 ldr         r3, [r3]
  00230	e2833004	 add         r3, r3, #4
  00234	e5832000	 str         r2, [r3]

; 76   :     PXA_LCDActiveFlip(lcd->lcd_regs, &lcd->dma_descs[0]);

  00238	e59d3008	 ldr         r3, [sp, #8]
  0023c	e2833024	 add         r3, r3, #0x24
  00240	e5931000	 ldr         r1, [r3]
  00244	e59d3008	 ldr         r3, [sp, #8]
  00248	e283301c	 add         r3, r3, #0x1C
  0024c	e5930000	 ldr         r0, [r3]
  00250	eb000000	 bl          PXA_LCDActiveFlip

; 77   : }

  00254	e89d6000	 ldmia       sp, {sp, lr}
  00258	e12fff1e	 bx          lr
  0025c		 |$M41387|

			 ENDP  ; |ActiveFlip|

	EXPORT	|ActiveOverlay2Enable|
	IMPORT	|PXA_LCDActiveOverlay2Enable|

  00020			 AREA	 |.pdata|, PDATA
|$T41395| DCD	|$LN8@ActiveOver|
	DCD	0x40003704
; Function compile flags: /Odtp

  0025c			 AREA	 |.text|, CODE, ARM

  0025c		 |ActiveOverlay2Enable| PROC

; 80   : {

  0025c		 |$LN8@ActiveOver|
  0025c	e1a0c00d	 mov         r12, sp
  00260	e92d0007	 stmdb       sp!, {r0 - r2}
  00264	e92d5030	 stmdb       sp!, {r4, r5, r12, lr}
  00268	e24dd00c	 sub         sp, sp, #0xC
  0026c		 |$M41392|

; 81   :     UINT i;
; 82   : 
; 83   :     for (i = 0; i < 3; i++)

  0026c	e3a03000	 mov         r3, #0
  00270	e58d3000	 str         r3, [sp]
  00274	ea000002	 b           |$LN3@ActiveOver|
  00278		 |$LN2@ActiveOver|
  00278	e59d3000	 ldr         r3, [sp]
  0027c	e2833001	 add         r3, r3, #1
  00280	e58d3000	 str         r3, [sp]
  00284		 |$LN3@ActiveOver|
  00284	e59d3000	 ldr         r3, [sp]
  00288	e3530003	 cmp         r3, #3
  0028c	2a000019	 bcs         |$LN1@ActiveOver|

; 84   :         PXA_LCDInitDMADescriptor(&lcd->dma_descs[2 + i], lcd->dma_descs[2 + i].FDADR, phy_addrs[i], 0);

  00290	e3a03000	 mov         r3, #0
  00294	e59d0000	 ldr         r0, [sp]
  00298	e3a02004	 mov         r2, #4
  0029c	e0010290	 mul         r1, r0, r2
  002a0	e59d2024	 ldr         r2, [sp, #0x24]
  002a4	e0822001	 add         r2, r2, r1
  002a8	e5922000	 ldr         r2, [r2]
  002ac	e59d101c	 ldr         r1, [sp, #0x1C]
  002b0	e2814024	 add         r4, r1, #0x24
  002b4	e59d1000	 ldr         r1, [sp]
  002b8	e281e002	 add         lr, r1, #2
  002bc	e3a01010	 mov         r1, #0x10
  002c0	e000019e	 mul         r0, lr, r1
  002c4	e5941000	 ldr         r1, [r4]
  002c8	e0811000	 add         r1, r1, r0
  002cc	e5911000	 ldr         r1, [r1]
  002d0	e59d001c	 ldr         r0, [sp, #0x1C]
  002d4	e2805024	 add         r5, r0, #0x24
  002d8	e59d0000	 ldr         r0, [sp]
  002dc	e2804002	 add         r4, r0, #2
  002e0	e3a00010	 mov         r0, #0x10
  002e4	e00e0094	 mul         lr, r4, r0
  002e8	e5950000	 ldr         r0, [r5]

⌨️ 快捷键说明

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