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

📄 xllp_ci.cod

📁 pxa270为硬件平台的wince操作系统XLLP驱动源码
💻 COD
📖 第 1 页 / 共 4 页
字号:
; 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 + -