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

📄 hal_camera.ps

📁 一款SmartPhone的驱动代码
💻 PS
📖 第 1 页 / 共 5 页
字号:
__L15:
	xcall	halReadReg16
	xand	%r10,%r10,0x0000000f
	xadd	%r10,%r10,1
	xsll	%r10,1

	.loc	58
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkFreqGet,	val	CamClkFreqGet,	scl	2,	type	0x2f,	endef
	.global	CamClkFreqGet

	.loc	67
	.def	ent,	scl	101,	type	0x0,	endef
CamClkFreqGet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	.def	CameraNum,	val	0,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	68
	ld.w	%r12,0x0
	xcall	GetSystemClock
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	xcall	CamClkDivGet
	ld.uh	%r13,%r10
	ld.w	%r12,%r1
	xcall	__udivsi3

	.loc	69
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamIndexGet,	val	CamIndexGet,	scl	2,	type	0x2d,	endef
	.global	CamIndexGet

	.loc	78
	.def	ent,	scl	101,	type	0x0,	endef
CamIndexGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	79
	.def	begin,	scl	100,	type	0x0,	endef
	.def	signalSettingIndex,	val	10,	scl	4,	type	0xd,	endef

	.loc	81

	.loc	84
	xld.w	%r10,0x00000106		; 262

	.loc	81
	xcmp	%r12,1
	xjrne	__L18

	.loc	82
	xld.w	%r10,0x00000102		; 258
__L18:

	.loc	86
	ld.uh	%r10,%r10

	.loc	87
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkModeInternalSet,	val	CamClkModeInternalSet,	scl	2,	type	0x21,	endef
	.global	CamClkModeInternalSet

	.loc	101
	.def	ent,	scl	101,	type	0x0,	endef
CamClkModeInternalSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	ClkMode,	val	0,	scl	17,	type	0xc,	endef

	.loc	102
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	103
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	xcall	halReadReg16

	.loc	105
	xand	%r10,%r10,0x0000ffdf

	.loc	106
	ld.ub	%r0,%r0
	xsll	%r0,5

	.loc	107
	ld.w	%r12,%r1
	ld.w	%r13,%r10
	or	%r13,%r0
	xcall	halWriteReg16

	.loc	108
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkModeInternalGet,	val	CamClkModeInternalGet,	scl	2,	type	0x2c,	endef
	.global	CamClkModeInternalGet

	.loc	119
	.def	ent,	scl	101,	type	0x0,	endef
CamClkModeInternalGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	120
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	121
	ld.uh	%r12,%r10
	xcall	halReadReg16

	.loc	123
	ld.uh	%r10,%r10
	xsrl	%r10,5

	.loc	124
	xand	%r10,%r10,0x00000001

	.loc	125
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamHSyncHiActvSet,	val	CamHSyncHiActvSet,	scl	2,	type	0x21,	endef
	.global	CamHSyncHiActvSet

	.loc	137
	.def	ent,	scl	101,	type	0x0,	endef
CamHSyncHiActvSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	hSyncHiActv,	val	13,	scl	17,	type	0xc,	endef

	.loc	138
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	139
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	xcall	halReadReg16

	.loc	141
	xand	%r10,%r10,0x0000fffb

	.loc	142
	xsll	%r0,2
	ld.ub	%r0,%r0

	.loc	143
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	or	%r13,%r10
	xcall	halWriteReg16

	.loc	144
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamHSyncHiActvGet,	val	CamHSyncHiActvGet,	scl	2,	type	0x2c,	endef
	.global	CamHSyncHiActvGet

	.loc	156
	.def	ent,	scl	101,	type	0x0,	endef
CamHSyncHiActvGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	157
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	158
	ld.uh	%r12,%r10
	xcall	halReadReg16

	.loc	160
	ld.uh	%r10,%r10
	xsrl	%r10,2

	.loc	161
	xand	%r10,%r10,0x00000001

	.loc	162
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamVSyncHiActvSet,	val	CamVSyncHiActvSet,	scl	2,	type	0x21,	endef
	.global	CamVSyncHiActvSet

	.loc	173
	.def	ent,	scl	101,	type	0x0,	endef
CamVSyncHiActvSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	vSyncHiActv,	val	0,	scl	17,	type	0xc,	endef

	.loc	174
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	175
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	xcall	halReadReg16

	.loc	177
	xand	%r10,%r10,0x0000fffd

	.loc	178
	ld.ub	%r0,%r0
	xsll	%r0,1

	.loc	179
	ld.w	%r12,%r1
	ld.w	%r13,%r10
	or	%r13,%r0
	xcall	halWriteReg16

	.loc	180
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamVSyncHiActvGet,	val	CamVSyncHiActvGet,	scl	2,	type	0x2c,	endef
	.global	CamVSyncHiActvGet

	.loc	190
	.def	ent,	scl	101,	type	0x0,	endef
CamVSyncHiActvGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	191
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	192
	ld.uh	%r12,%r10
	xcall	halReadReg16

	.loc	194
	ld.uh	%r10,%r10
	xsrl	%r10,1

	.loc	195
	xand	%r10,%r10,0x00000001

	.loc	196
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamYUVDataFmtSelSet,	val	CamYUVDataFmtSelSet,	scl	2,	type	0x21,	endef
	.global	CamYUVDataFmtSelSet

	.loc	206
	.def	ent,	scl	101,	type	0x0,	endef
CamYUVDataFmtSelSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r1,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	yuvDataFmtSel,	val	1,	scl	17,	tag	__T5,	size	4,	type	0xa,	endef

	.loc	207
	.def	begin,	scl	100,	type	0x0,	endef
	.def	camSignalSetting,	val	10,	scl	4,	type	0xd,	endef
	xcall	CamIndexGet

	.loc	208
	ld.uh	%r0,%r10
	ld.w	%r12,%r0
	xcall	halReadReg16

	.loc	210
	xand	%r10,%r10,0x0000ffe7

	.loc	211
	or	%r10,%r1

	.loc	212
	ld.uh	%r10,%r10
	ld.w	%r12,%r0
	ld.w	%r13,%r10
	xcall	halWriteReg16

	.loc	213
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamYUVDataFmtSelGet,	val	CamYUVDataFmtSelGet,	scl	2,	tag	__T5,	size	4,	type	0x2a,	endef
	.global	CamYUVDataFmtSelGet

	.loc	222
	.def	ent,	scl	101,	type	0x0,	endef
CamYUVDataFmtSelGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	223
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	224
	ld.uh	%r12,%r10
	xcall	halReadReg16

	.loc	227
	xand	%r10,%r10,0x00000018

	.loc	228
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkFallEdgeSet,	val	CamClkFallEdgeSet,	scl	2,	type	0x21,	endef
	.global	CamClkFallEdgeSet

	.loc	239
	.def	ent,	scl	101,	type	0x0,	endef
CamClkFallEdgeSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	clkFallEdge,	val	13,	scl	17,	type	0xc,	endef

	.loc	240
	.def	begin,	scl	100,	type	0x0,	endef
	xcall	CamIndexGet

	.loc	241
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	xcall	halReadReg16

	.loc	243
	xand	%r10,%r10,0x0000fffe

	.loc	244
	xand	%r0,%r0,0x00000001

⌨️ 快捷键说明

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