📄 xllp_ci.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_ci.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:coredll.lib "
DCB "-defaultlib:corelibc.lib "
EXPORT |XllpCISetFrameRate|
; File f:\wm520\platform\intel_dbpxa27x\public\csp\arm\intel\pxa27x\xllp\source\xllp_ci.c
00000 AREA |.text| { |XllpCISetFrameRate| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$XllpCISetFrameRate|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpCISetFrameRate| } ; comdat associative
|$T35583| DCD |$L35582|
DCD 0x40000500
; Function compile flags: /Ogsy
00000 AREA |.text| { |XllpCISetFrameRate| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |XllpCISetFrameRate| PROC
; 40 : {
00000 |$L35582|
00000 |$M35580|
; 41 : unsigned int value;
; 42 :
; 43 : // write cicr4
; 44 : value = READ_REG(XLLP_CICR4);
; 45 : value &= ~(XLLP_CI_CICR4_FR_RATE_SMASK << XLLP_CI_CICR4_FR_RATE_SHIFT);
00000 e5903010 ldr r3, [r0, #0x10]
00004 e3c33c07 bic r3, r3, #7, 24
; 46 : value |= (unsigned)frate << XLLP_CI_CICR4_FR_RATE_SHIFT;
00008 e1833401 orr r3, r3, r1, lsl #8
; 47 : WRITE_REG(XLLP_CICR4, value);
0000c e5803010 str r3, [r0, #0x10]
; 48 : }
00010 e12fff1e bx lr
00014 |$M35581|
ENDP ; |XllpCISetFrameRate|
EXPORT |XllpCIGetFrameRate|
00000 AREA |.text| { |XllpCIGetFrameRate| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$XllpCIGetFrameRate|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpCIGetFrameRate| } ; comdat associative
|$T35593| DCD |$L35592|
DCD 0x40000400
; Function compile flags: /Ogsy
00000 AREA |.text| { |XllpCIGetFrameRate| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |XllpCIGetFrameRate| PROC
; 51 : {
00000 |$L35592|
00000 |$M35590|
; 52 : unsigned int value;
; 53 : value = READ_REG(XLLP_CICR4);
; 54 : return (XLLP_CI_FRAME_CAPTURE_RATE)((value >> XLLP_CI_CICR4_FR_RATE_SHIFT) & XLLP_CI_CICR4_FR_RATE_SMASK);
00000 e5903010 ldr r3, [r0, #0x10]
00004 e1a03a83 mov r3, r3, lsl #21
00008 e1a00ea3 mov r0, r3, lsr #29
; 55 : }
0000c e12fff1e bx lr
00010 |$M35591|
ENDP ; |XllpCIGetFrameRate|
EXPORT |XllpCISetImageFormat|
00000 AREA |.text| { |XllpCISetImageFormat| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$XllpCISetImageFormat|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpCISetImageFormat| } ; comdat associative
|$T35624| DCD |$L35623|
DCD 0x40006a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |XllpCISetImageFormat| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |XllpCISetImageFormat| PROC
; 58 : {
00000 |$L35623|
00000 e92d47f0 stmdb sp!, {r4 - r10, lr}
00004 |$M35621|
; 59 : unsigned int value, tbit, rgbt_conv, rgb_conv, rgb_f, ycbcr_f, rgb_bpp, raw_bpp, cspace;
; 60 :
; 61 : // write cicr1: preserve ppl value and data width value
; 62 : value = READ_REG(XLLP_CICR1);
; 63 : value &= ( (XLLP_CI_CICR1_PPL_SMASK << XLLP_CI_CICR1_PPL_SHIFT) | ((XLLP_CI_CICR1_DW_SMASK) << XLLP_CI_CICR1_DW_SHIFT));
00004 e590e004 ldr lr, [r0, #4]
00008 e59f3194 ldr r3, [pc, #0x194]
; 64 : tbit = rgbt_conv = rgb_conv = rgb_f = ycbcr_f = rgb_bpp = raw_bpp = cspace = 0;
0000c e3a04000 mov r4, #0
00010 e3a08000 mov r8, #0
00014 e00ea003 and r10, lr, r3
00018 e3a0e000 mov lr, #0
0001c e3a09000 mov r9, #0
00020 e3a07000 mov r7, #0
00024 e3a05000 mov r5, #0
00028 e3a06000 mov r6, #0
; 65 : switch(input_format) {
0002c e351000f cmp r1, #0xF
00030 8a000008 bhi |$L35597|
00034 e28f3004 add r3, pc, #4
00038 e7d33001 ldrb r3, [r3, +r1]
0003c e08ff003 add pc, pc, r3
00040 |$L35620|
00040 |$L35619|
00040 0cf9 DCB 0xc
00041 34f9 DCB 0x34
00042 40f9 DCB 0x40
00043 4cf9 DCB 0x4c
00044 4cf9 DCB 0x4c
00045 60f9 DCB 0x60
00046 6cf9 DCB 0x6c
00047 94f9 DCB 0x94
00048 a4f9 DCB 0xa4
00049 b4f9 DCB 0xb4
0004a 14f9 DCB 0x14
0004b 14f9 DCB 0x14
0004c 14f9 DCB 0x14
0004d 14f9 DCB 0x14
0004e 14f9 DCB 0x14
0004f b4f9 DCB 0xb4
00050 |$L35171|
; 66 : case XLLP_CI_RAW8:
; 67 : cspace = 0;
00050 e3a04000 mov r4, #0
; 68 : raw_bpp = 0;
00054 e3a08000 mov r8, #0
00058 |$L35597|
; 140 : break;
; 141 : default:
; 142 : break;
; 143 : }
; 144 : break;
; 145 : default:
; 146 : break;
; 147 : }
; 148 : value |= (tbit==1) ? XLLP_CI_CICR1_TBIT : 0;
00058 e3a02000 mov r2, #0
0005c |$L35598|
; 149 : value |= rgbt_conv << XLLP_CI_CICR1_RGBT_CONV_SHIFT;
; 150 : value |= rgb_conv << XLLP_CI_CICR1_RGB_CONV_SHIFT;
0005c e1853886 orr r3, r5, r6, lsl #17
00060 e1823603 orr r3, r2, r3, lsl #12
00064 e183200a orr r2, r3, r10
; 151 : value |= (rgb_f==1) ? XLLP_CI_CICR1_RBG_F : 0;
00068 e3570001 cmp r7, #1
0006c 1a000040 bne |$L35599|
00070 e3a03b02 mov r3, #2, 22
00074 ea00003f b |$L35600|
00078 |$L35172|
; 69 : break;
; 70 : case XLLP_CI_RAW9:
; 71 : cspace = 0;
00078 e3a04000 mov r4, #0
; 72 : raw_bpp = 1;
0007c e3a08001 mov r8, #1
; 73 : break;
00080 eafffff4 b |$L35597|
00084 |$L35173|
; 74 : case XLLP_CI_RAW10:
; 75 : cspace = 0;
00084 e3a04000 mov r4, #0
; 76 : raw_bpp = 2;
00088 e3a08002 mov r8, #2
; 77 : break;
0008c eafffff1 b |$L35597|
00090 |$L35174|
; 78 : case XLLP_CI_YCBCR422:
; 79 : case XLLP_CI_YCBCR422_PLANAR:
; 80 : cspace = 2;
00090 e3a04002 mov r4, #2
; 81 : if (output_format == XLLP_CI_YCBCR422_PLANAR) {
00094 e3520004 cmp r2, #4
00098 1affffee bne |$L35597|
; 82 : ycbcr_f = 1;
0009c e3a09001 mov r9, #1
; 83 : }
; 84 : break;
000a0 eaffffec b |$L35597|
000a4 |$L35176|
; 85 : case XLLP_CI_RGB444:
; 86 : cspace = 1;
000a4 e3a04001 mov r4, #1
; 87 : rgb_bpp = 0;
000a8 e3a0e000 mov lr, #0
; 88 : break;
000ac eaffffe9 b |$L35597|
000b0 |$L35177|
; 89 : case XLLP_CI_RGB555:
; 90 : cspace = 1;
; 91 : rgb_bpp = 1;
; 92 : if (output_format == XLLP_CI_RGBT555_0) {
000b0 e352000a cmp r2, #0xA
; 93 : rgbt_conv = 2;
000b4 03a06002 moveq r6, #2
000b8 e3a04001 mov r4, #1
000bc e3a0e001 mov lr, #1
000c0 0affffe4 beq |$L35597|
; 94 : tbit = 0;
; 95 : }
; 96 : else if (output_format == XLLP_CI_RGBT555_1) {
000c4 e352000c cmp r2, #0xC
000c8 1affffe2 bne |$L35597|
; 97 : rgbt_conv = 2;
000cc e3a06002 mov r6, #2
; 140 : break;
; 141 : default:
; 142 : break;
; 143 : }
; 144 : break;
; 145 : default:
; 146 : break;
; 147 : }
; 148 : value |= (tbit==1) ? XLLP_CI_CICR1_TBIT : 0;
000d0 e3a02102 mov r2, #2, 2
000d4 eaffffe0 b |$L35598|
000d8 |$L35181|
; 98 : tbit = 1;
; 99 : }
; 100 : break;
; 101 : case XLLP_CI_RGB565:
; 102 : cspace = 1;
000d8 e3a04001 mov r4, #1
; 103 : rgb_bpp = 2;
000dc e3a0e002 mov lr, #2
; 118 : case XLLP_CI_RGB888_PACKED:
; 119 : rgb_f = 1;
000e0 e3a07001 mov r7, #1
; 120 : break;
000e4 eaffffdb b |$L35597|
000e8 |$L35182|
; 104 : rgb_f = 1;
; 105 : break;
; 106 : case XLLP_CI_RGB666:
; 107 : cspace = 1;
000e8 e3a04001 mov r4, #1
; 108 : rgb_bpp = 3;
000ec e3a0e003 mov lr, #3
; 109 : if (output_format == XLLP_CI_RGB666_PACKED) {
000f0 e352000e cmp r2, #0xE
; 110 : rgb_f = 1;
; 111 : }
; 112 : break;
000f4 ea00000e b |$L35617|
000f8 |$L35184|
; 113 : case XLLP_CI_RGB888:
; 114 : case XLLP_CI_RGB888_PACKED:
; 115 : cspace = 1;
000f8 e3a04001 mov r4, #1
; 116 : rgb_bpp = 4;
000fc e3a0e004 mov lr, #4
; 117 : switch(output_format) {
00100 e3520005 cmp r2, #5
00104 0a000018 beq |$L35195|
00108 e3520006 cmp r2, #6
0010c 0a000014 beq |$L35194|
00110 e3520007 cmp r2, #7
00114 0a000010 beq |$L35193|
00118 e3520008 cmp r2, #8
0011c 0a00000c beq |$L35192|
00120 e352000b cmp r2, #0xB
00124 0a000008 beq |$L35190|
00128 e352000d cmp r2, #0xD
0012c 0a000003 beq |$L35191|
00130 e352000f cmp r2, #0xF
00134 |$L35617|
00134 1affffc7 bne |$L35597|
; 118 : case XLLP_CI_RGB888_PACKED:
; 119 : rgb_f = 1;
00138 e3a07001 mov r7, #1
; 120 : break;
0013c eaffffc5 b |$L35597|
00140 |$L35191|
; 125 : case XLLP_CI_RGBT888_1:
; 126 : rgbt_conv = 1;
00140 e3a06001 mov r6, #1
; 140 : break;
; 141 : default:
; 142 : break;
; 143 : }
; 144 : break;
; 145 : default:
; 146 : break;
; 147 : }
; 148 : value |= (tbit==1) ? XLLP_CI_CICR1_TBIT : 0;
00144 e3a02102 mov r2, #2, 2
00148 eaffffc3 b |$L35598|
0014c |$L35190|
; 121 : case XLLP_CI_RGBT888_0:
; 122 : rgbt_conv = 1;
0014c e3a06001 mov r6, #1
; 123 : tbit = 0;
; 124 : break;
00150 eaffffc0 b |$L35597|
00154 |$L35192|
; 127 : tbit = 1;
; 128 : break;
; 129 : case XLLP_CI_RGB666:
; 130 : rgb_conv = 1;
00154 e3a05001 mov r5, #1
; 131 : break;
00158 eaffffbe b |$L35597|
0015c |$L35193|
; 132 : case XLLP_CI_RGB565:
; 133 : rgb_conv = 2;
0015c e3a05002 mov r5, #2
; 134 : break;
00160 eaffffbc b |$L35597|
00164 |$L35194|
; 135 : case XLLP_CI_RGB555:
; 136 : rgb_conv = 3;
00164 e3a05003 mov r5, #3
; 137 : break;
00168 eaffffba b |$L35597|
0016c |$L35195|
; 138 : case XLLP_CI_RGB444:
; 139 : rgb_conv = 4;
0016c e3a05004 mov r5, #4
; 140 : break;
; 141 : default:
; 142 : break;
; 143 : }
; 144 : break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -