📄 lcd_zl_vga_qvga.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01
TTL D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\Display\panels\lcd_zl_vga_qvga.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |qvga_ls037| [ DATA ]
EXPORT |oled_0283| [ DATA ]
EXPORT |vga_ls037| [ DATA ]
00000 AREA |.data|, DATA
|qvga_ls037| DCD |set_power_mode|
DCD |init|
DCD |post_init|
DCD 0xf0
DCD 0x140
DCD 0x10
DCD 0x27
DCD 0x28
DCD 0x3
DCD 0x2
DCD 0x2
DCD 0x0
DCD 0xe
DCD 0x16
DCD 0x1e
DCD 0x4
DCD 0x8
DCD 0x0
DCD 0x1
DCD 0x1
DCD 0x1
|panel_is_leaded| DCD 0x1
|oled_0283| DCD |set_power_mode|
DCD |init|
DCD |post_init|
DCD 0x1e0
DCD 0x110
DCD 0x10
DCD 0x2
DCD 0x4
DCD 0x1c
DCD 0x4
DCD 0x8
DCD 0xa
DCD 0xc
DCD 0x12
DCD 0x17
DCD 0x3
DCD 0x6
DCD 0x0
DCD 0x0
DCD 0x1
DCD 0x1
% 4
|vga_ls037| DCD |set_power_mode|
DCD |init|
DCD |post_init|
DCD 0x1e0
DCD 0x280
DCD 0x10
DCD 0x4f
DCD 0x5f
DCD 0x3
DCD 0x2
DCD 0x6
DCD 0x0
DCD 0x5
DCD 0x7
DCD 0xa
DCD 0x1
DCD 0x3
DCD 0x0
DCD 0x1
DCD 0x1
DCD 0x1
IMPORT |PXA_GPIOSetLevel|
IMPORT |PXA_GPIOSetDirection|
IMPORT |MFP_SetActiveMode|
00000 AREA |.bss|, NOINIT
|gpio_regs| % 0x4
00000 AREA |.pdata|, PDATA
|$T41954| DCD |$LN10@init|
DCD 0x40003e04
; Function compile flags: /Odtp
; File d:\wince600\platform\m-stone\src\drivers\display\panels\lcd_zl_vga_qvga.c
00000 AREA |.text|, CODE, ARM
00000 |init| PROC
; 186 : {
00000 |$LN10@init|
00000 e1a0c00d mov r12, sp
00004 e92d0001 stmdb sp!, {r0}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c e24dd014 sub sp, sp, #0x14
00010 |$M41951|
; 187 : PXA_STATUS_T status = PXA_STATUS_SUCCESS;
00010 e3a03000 mov r3, #0
00014 e58d3000 str r3, [sp]
; 188 : PXA_LEVEL_T mode_pin_level;
; 189 :
; 190 : mode_pin_level = panel->config.width == VGA_WIDTH? PXA_HI : PXA_LO;
00018 e59d301c ldr r3, [sp, #0x1C]
0001c e283300c add r3, r3, #0xC
00020 e5933000 ldr r3, [r3]
00024 e3530e1e cmp r3, #0x1E, 28
00028 1a000002 bne |$LN4@init|
0002c e3a03001 mov r3, #1
00030 e58d300c str r3, [sp, #0xC]
00034 ea000001 b |$LN5@init|
00038 |$LN4@init|
00038 e3a03000 mov r3, #0
0003c e58d300c str r3, [sp, #0xC]
00040 |$LN5@init|
00040 e59d300c ldr r3, [sp, #0xC]
00044 e58d3004 str r3, [sp, #4]
; 191 :
; 192 : // mode pin level is reverted for lead free panel
; 193 : if (!panel_is_leaded)
00048 e59f30a4 ldr r3, [pc, #0xA4]
0004c e5933000 ldr r3, [r3]
00050 e3530000 cmp r3, #0
00054 1a000009 bne |$LN1@init|
; 194 : mode_pin_level = mode_pin_level == PXA_HI? PXA_LO : PXA_HI;
00058 e59d3004 ldr r3, [sp, #4]
0005c e3530001 cmp r3, #1
00060 1a000002 bne |$LN6@init|
00064 e3a03000 mov r3, #0
00068 e58d3010 str r3, [sp, #0x10]
0006c ea000001 b |$LN7@init|
00070 |$LN6@init|
00070 e3a03001 mov r3, #1
00074 e58d3010 str r3, [sp, #0x10]
00078 |$LN7@init|
00078 e59d3010 ldr r3, [sp, #0x10]
0007c e58d3004 str r3, [sp, #4]
00080 |$LN1@init|
; 195 :
; 196 : MFP_SetActiveMode(PXA_COMPONENT_LCD_ID);
00080 e3a0000a mov r0, #0xA
00084 eb000000 bl MFP_SetActiveMode
; 197 : // GPIO registers can't be retained after wakeup
; 198 : PXA_GPIOSetDirection(gpio_regs, PXA_GPIO_LCD_LDD_17_ID, PXA_GPIO_DIRECTION_OUT);
00088 e3a02001 mov r2, #1
0008c e3a01047 mov r1, #0x47
00090 e59f3058 ldr r3, [pc, #0x58]
00094 e5930000 ldr r0, [r3]
00098 eb000000 bl PXA_GPIOSetDirection
; 199 : PXA_GPIOSetDirection(gpio_regs, PXA_GPIO_LCD_VSYNC_ID, PXA_GPIO_DIRECTION_OUT);
0009c e3a02001 mov r2, #1
000a0 e3a0104c mov r1, #0x4C
000a4 e59f3044 ldr r3, [pc, #0x44]
000a8 e5930000 ldr r0, [r3]
000ac eb000000 bl PXA_GPIOSetDirection
; 200 : // select active lcd instead of oled
; 201 : PXA_GPIOSetLevel(gpio_regs, PXA_GPIO_LCD_LDD_17_ID, PXA_LO);
000b0 e3a02000 mov r2, #0
000b4 e3a01047 mov r1, #0x47
000b8 e59f3030 ldr r3, [pc, #0x30]
000bc e5930000 ldr r0, [r3]
000c0 eb000000 bl PXA_GPIOSetLevel
; 202 : PXA_GPIOSetLevel(gpio_regs, PXA_GPIO_LCD_VSYNC_ID, mode_pin_level);
000c4 e59d2004 ldr r2, [sp, #4]
000c8 e3a0104c mov r1, #0x4C
000cc e59f301c ldr r3, [pc, #0x1C]
000d0 e5930000 ldr r0, [r3]
000d4 eb000000 bl PXA_GPIOSetLevel
; 203 : return status;
000d8 e59d3000 ldr r3, [sp]
000dc e58d3008 str r3, [sp, #8]
; 204 : }
000e0 e59d0008 ldr r0, [sp, #8]
000e4 e28dd014 add sp, sp, #0x14
000e8 e89d6000 ldmia sp, {sp, lr}
000ec e12fff1e bx lr
000f0 |$LN11@init|
000f0 |$LN12@init|
000f0 00000000 DCD |gpio_regs|
000f4 |$LN13@init|
000f4 00000000 DCD |panel_is_leaded|
000f8 |$M41952|
ENDP ; |init|
00008 AREA |.pdata|, PDATA
|$T41963| DCD |$LN5@post_init|
DCD 0x40000a04
; Function compile flags: /Odtp
000f8 AREA |.text|, CODE, ARM
000f8 |post_init| PROC
; 207 : {
000f8 |$LN5@post_init|
000f8 e1a0c00d mov r12, sp
000fc e92d0001 stmdb sp!, {r0}
00100 e92d5000 stmdb sp!, {r12, lr}
00104 e24dd004 sub sp, sp, #4
00108 |$M41960|
; 208 : return PXA_STATUS_SUCCESS;
00108 e3a03000 mov r3, #0
0010c e58d3000 str r3, [sp]
; 209 : }
00110 e59d0000 ldr r0, [sp]
00114 e28dd004 add sp, sp, #4
00118 e89d6000 ldmia sp, {sp, lr}
0011c e12fff1e bx lr
00120 |$M41961|
ENDP ; |post_init|
IMPORT |set_lcd_domain|
00010 AREA |.pdata|, PDATA
|$T41968| DCD |$LN5@set_power_|
DCD 0x40000703
; Function compile flags: /Odtp
00120 AREA |.text|, CODE, ARM
00120 |set_power_mode| PROC
; 212 : {
00120 |$LN5@set_power_|
00120 e1a0c00d mov r12, sp
00124 e92d0003 stmdb sp!, {r0, r1}
00128 e92d5000 stmdb sp!, {r12, lr}
0012c |$M41965|
; 213 : set_lcd_domain(power_mode);
0012c e59d000c ldr r0, [sp, #0xC]
00130 eb000000 bl set_lcd_domain
; 214 : //if (power_mode == FALSE)
; 215 : // PXA_GPIOSetLevel(gpio_regs, PXA_GPIO_LCD_VSYNC_ID, PXA_LO);
; 216 : }
00134 e89d6000 ldmia sp, {sp, lr}
00138 e12fff1e bx lr
0013c |$M41966|
ENDP ; |set_power_mode|
EXPORT |vga_qvga_panel_init|
IMPORT |PXA_CTX_GetRegAddr2|
00018 AREA |.pdata|, PDATA
|$T41974| DCD |$LN8@vga_qvga_p|
DCD 0x40002f04
; Function compile flags: /Odtp
0013c AREA |.text|, CODE, ARM
0013c |vga_qvga_panel_init| PROC
; 219 : {
0013c |$LN8@vga_qvga_p|
0013c e1a0c00d mov r12, sp
00140 e92d0003 stmdb sp!, {r0, r1}
00144 e92d5000 stmdb sp!, {r12, lr}
00148 e24dd00c sub sp, sp, #0xC
0014c |$M41971|
; 220 : active_panel_t *panel;
; 221 :
; 222 : gpio_regs = (PXA_GPIOREG_T*)PXA_CTX_GetRegAddr(PXA_PERIPHERAL_REGIDX_GPIO);
0014c e3a01000 mov r1, #0
00150 e3a0000c mov r0, #0xC
00154 eb000000 bl PXA_CTX_GetRegAddr2
00158 e58d0008 str r0, [sp, #8]
0015c e59d2008 ldr r2, [sp, #8]
00160 e59f308c ldr r3, [pc, #0x8C]
00164 e5832000 str r2, [r3]
; 223 :
; 224 : if (is_vga)
00168 e59d3014 ldr r3, [sp, #0x14]
0016c e3530000 cmp r3, #0
00170 0a000002 beq |$LN3@vga_qvga_p|
; 225 : panel = &vga_ls037;
00174 e59f3074 ldr r3, [pc, #0x74]
00178 e58d3000 str r3, [sp]
; 226 : else
0017c ea000001 b |$LN2@vga_qvga_p|
00180 |$LN3@vga_qvga_p|
; 227 : panel = &qvga_ls037;
00180 e59f305c ldr r3, [pc, #0x5C]
00184 e58d3000 str r3, [sp]
00188 |$LN2@vga_qvga_p|
; 228 :
; 229 : panel=&oled_0283;
00188 e59f305c ldr r3, [pc, #0x5C]
0018c e58d3000 str r3, [sp]
; 230 : panel_is_leaded = is_leaded;
00190 e59d2018 ldr r2, [sp, #0x18]
00194 e59f304c ldr r3, [pc, #0x4C]
00198 e5832000 str r2, [r3]
; 231 :
; 232 : if (!is_leaded)
0019c e59d3018 ldr r3, [sp, #0x18]
001a0 e3530000 cmp r3, #0
001a4 1a000008 bne |$LN1@vga_qvga_p|
; 233 : {
; 234 : qvga_ls037.config.timing.BLW = 0x14;
001a8 e59f2034 ldr r2, [pc, #0x34]
001ac e3a03014 mov r3, #0x14
001b0 e5823018 str r3, [r2, #0x18]
; 235 : qvga_ls037.config.timing.EFW = 0x3;
001b4 e59f2028 ldr r2, [pc, #0x28]
001b8 e3a03003 mov r3, #3
001bc e5823028 str r3, [r2, #0x28]
; 236 : qvga_ls037.config.timing.EFW = 0x5;
001c0 e59f201c ldr r2, [pc, #0x1C]
001c4 e3a03005 mov r3, #5
001c8 e5823028 str r3, [r2, #0x28]
001cc |$LN1@vga_qvga_p|
; 237 : }
; 238 : return panel;
001cc e59d3000 ldr r3, [sp]
001d0 e58d3004 str r3, [sp, #4]
; 239 : }
001d4 e59d0004 ldr r0, [sp, #4]
001d8 e28dd00c add sp, sp, #0xC
001dc e89d6000 ldmia sp, {sp, lr}
001e0 e12fff1e bx lr
001e4 |$LN9@vga_qvga_p|
001e4 |$LN10@vga_qvga_p|
001e4 00000000 DCD |qvga_ls037|
001e8 |$LN11@vga_qvga_p|
001e8 00000000 DCD |panel_is_leaded|
001ec |$LN12@vga_qvga_p|
001ec 00000000 DCD |oled_0283|
001f0 |$LN13@vga_qvga_p|
001f0 00000000 DCD |vga_ls037|
001f4 |$LN14@vga_qvga_p|
001f4 00000000 DCD |gpio_regs|
001f8 |$M41972|
ENDP ; |vga_qvga_panel_init|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -