	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mode_init_ov_sensor_regs
_mode_init_ov_sensor_regs:              ## @mode_init_ov_sensor_regs
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	(%rdi), %rax
	leal	-128(%rax), %ecx
	cmpl	$14, %ecx
	ja	LBB0_22
## %bb.1:
	movq	%rdi, %r12
	movq	16(%rdi), %rdx
	movl	(%rdx,%rax,4), %r14d
	andl	$1, %r14d
	leaq	LJTI0_0(%rip), %rdx
	movslq	(%rdx,%rcx,4), %rcx
	addq	%rdx, %rcx
	jmpq	*%rcx
LBB0_9:
	movl	%r14d, %r15d
	shll	$5, %r15d
	movl	$32, %ebx
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%r15d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movl	%r15d, %edx
	xorl	$32, %edx
	movq	%r12, %rdi
	movl	$40, %esi
	movl	$32, %ecx
	callq	_i2c_w_mask
	testl	%r14d, %r14d
	movl	$58, %edx
	cmovnel	%ebx, %edx
	movl	$96, %eax
	movl	$48, %ebx
	cmovel	%eax, %ebx
	movq	%r12, %rdi
	movl	$36, %esi
	callq	_i2c_w
	movq	%r12, %rdi
	movl	$37, %esi
	movl	%ebx, %edx
	callq	_i2c_w
	movl	%r14d, %edx
	shll	$6, %edx
	movq	%r12, %rdi
	movl	$45, %esi
	movl	$64, %ecx
	callq	_i2c_w_mask
	leal	144(%r15), %edx
	movq	%r12, %rdi
	movl	$103, %esi
	movl	$240, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$116, %esi
	movl	%r15d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$19, %esi
	xorl	%edx, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$18, %esi
	movl	$4, %edx
	movl	$6, %ecx
	callq	_i2c_w_mask
	cmpl	$130, (%r12)
	jne	LBB0_20
## %bb.10:
	xorl	%edx, %edx
	testl	%r14d, %r14d
	sete	%dl
	shll	$7, %edx
	orl	$30, %edx
	movq	%r12, %rdi
	movl	$53, %esi
	callq	_i2c_w
	jmp	LBB0_20
LBB0_11:
	movl	%r14d, %ebx
	shll	$5, %ebx
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%ebx, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movl	%ebx, %edx
	xorl	$32, %edx
	movq	%r12, %rdi
	movl	$40, %esi
	movl	$32, %ecx
	callq	_i2c_w_mask
	movl	%r14d, %edx
	shll	$6, %edx
	movq	%r12, %rdi
	movl	$45, %esi
	movl	$64, %ecx
	callq	_i2c_w_mask
	testl	%r14d, %r14d
	movl	$144, %edx
	movl	$240, %eax
	cmovnel	%eax, %edx
	movq	%r12, %rdi
	movl	$103, %esi
	movl	$240, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$116, %esi
	movl	%ebx, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$18, %esi
	movl	$4, %edx
	movl	$4, %ecx
	jmp	LBB0_19
LBB0_16:
	shll	$5, %r14d
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%r14d, %edx
	jmp	LBB0_15
LBB0_12:
	movq	_OV7670_R12_COM7@GOTPCREL(%rip), %rax
	testl	%r14d, %r14d
	movq	_OV7670_COM7_FMT_QVGA@GOTPCREL(%rip), %rcx
	cmoveq	_OV7670_COM7_FMT_VGA@GOTPCREL(%rip), %rcx
	movl	(%rax), %esi
	movl	(%rcx), %edx
	movq	_OV7670_COM7_FMT_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	$14, %eax
	movl	$28, %r13d
	cmovel	%eax, %r13d
	movl	$158, %eax
	movl	$164, %ebx
	cmovel	%eax, %ebx
	movq	%r12, %rdi
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$19, %esi
	xorl	%edx, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	_OV7670_R13_COM8@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OV7670_COM8_AWB@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movl	%ecx, %edx
	callq	_i2c_w_mask
	leal	2(%r14), %eax
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	orl	$122, %r14d
	movq	_OV7670_R17_HSTART@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%ebx, %edx
	shrl	$3, %edx
	movq	%r12, %rdi
	callq	_i2c_w
	movq	_OV7670_R18_HSTOP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r13d, %edx
	shrl	$3, %edx
	movq	%r12, %rdi
	callq	_i2c_w
	movq	_OV7670_R32_HREF@GOTPCREL(%rip), %r15
	movl	(%r15), %esi
	movq	%r12, %rdi
	callq	_i2c_r
	andl	$192, %eax
	andl	$6, %r13d
	andl	$6, %ebx
	leal	(%rbx,%r13,8), %ebx
	orl	%eax, %ebx
	movl	$10, %edi
	callq	_msleep
	movl	(%r15), %esi
	movq	%r12, %rdi
	movl	%ebx, %edx
	callq	_i2c_w
	movq	_OV7670_R19_VSTART@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	-44(%rbp), %edx                 ## 4-byte Reload
	callq	_i2c_w
	movq	_OV7670_R1A_VSTOP@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdi
	movl	%r14d, %edx
	callq	_i2c_w
	movq	_OV7670_R03_VREF@GOTPCREL(%rip), %r14
	movl	(%r14), %esi
	movq	%r12, %rdi
	callq	_i2c_r
                                        ## kill: def $eax killed $eax def $rax
	andl	$192, %eax
	leal	10(%rax), %ebx
	movl	$10, %edi
	callq	_msleep
	movl	(%r14), %esi
	movq	%r12, %rdi
	movl	%ebx, %edx
	callq	_i2c_w
	jmp	LBB0_20
LBB0_8:
	xorl	%ebx, %ebx
	testl	%r14d, %r14d
	sete	%bl
	shll	$5, %r14d
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%r14d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	shll	$7, %ebx
	orl	$30, %ebx
	movq	%r12, %rdi
	movl	$53, %esi
	movl	%ebx, %edx
	callq	_i2c_w
	jmp	LBB0_14
LBB0_13:
	shll	$5, %r14d
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%r14d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
LBB0_14:
	movq	%r12, %rdi
	movl	$19, %esi
	xorl	%edx, %edx
LBB0_15:
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$18, %esi
	movl	$4, %edx
	movl	$6, %ecx
LBB0_19:
	callq	_i2c_w_mask
LBB0_20:
	movl	8(%r12), %edx
	movq	%r12, %rdi
	movl	$17, %esi
LBB0_21:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_i2c_w                          ## TAILCALL
LBB0_2:
	movl	%r14d, %r15d
	shll	$5, %r15d
	movl	$32, %ebx
	movq	%r12, %rdi
	movl	$20, %esi
	movl	%r15d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movl	%r15d, %edx
	xorl	$32, %edx
	movq	%r12, %rdi
	movl	$40, %esi
	movl	$32, %ecx
	callq	_i2c_w_mask
	testl	%r14d, %r14d
	movl	$58, %edx
	cmovnel	%ebx, %edx
	movl	$96, %eax
	movl	$48, %ebx
	cmovel	%eax, %ebx
	movl	$144, %r13d
	movl	$240, %eax
	cmovnel	%eax, %r13d
	movq	%r12, %rdi
	movl	$36, %esi
	callq	_i2c_w
	movq	%r12, %rdi
	movl	$37, %esi
	movl	%ebx, %edx
	callq	_i2c_w
	shll	$6, %r14d
	movq	%r12, %rdi
	movl	$45, %esi
	movl	%r14d, %edx
	movl	$64, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$103, %esi
	movl	%r13d, %edx
	movl	$240, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$116, %esi
	movl	%r15d, %edx
	movl	$32, %ecx
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_i2c_w_mask                     ## TAILCALL
LBB0_22:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_17:
	movl	%r14d, %edx
	shll	$6, %edx
	movq	%r12, %rdi
	movl	$18, %esi
	movl	$64, %ecx
	callq	_i2c_w_mask
	movl	4(%r12), %eax
	cmpl	$30, %eax
	leaq	_mode_init_ov_sensor_regs.vga_15(%rip), %rcx
	leaq	_mode_init_ov_sensor_regs.vga_30(%rip), %rdx
	cmovlq	%rcx, %rdx
	cmpl	$15, %eax
	leaq	_mode_init_ov_sensor_regs.sxga_7_5(%rip), %rbx
	leaq	_mode_init_ov_sensor_regs.sxga_15(%rip), %rdi
	cmovgeq	%rdi, %rbx
	testl	%r14d, %r14d
	cmovneq	%rdx, %rbx
	callq	_ARRAY_SIZE
	movq	%r12, %rdi
	movq	%rbx, %rsi
	movl	%eax, %edx
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_write_i2c_regvals              ## TAILCALL
LBB0_18:
	movq	_OV7610_REG_COM_C@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	shll	$5, %r14d
	movq	%r12, %rdi
	movl	%r14d, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$19, %esi
	xorl	%edx, %edx
	movl	$32, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$18, %esi
	movl	$4, %edx
	movl	$6, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$45, %esi
	xorl	%edx, %edx
	movl	$64, %ecx
	callq	_i2c_w_mask
	movq	%r12, %rdi
	movl	$40, %esi
	movl	$32, %edx
	movl	$32, %ecx
	jmp	LBB0_19
LBB0_4:
	movl	12(%r12), %r15d
	testl	%r14d, %r14d
	jne	LBB0_5
## %bb.6:
	movl	$2076, %eax                     ## imm = 0x81C
	subl	%r15d, %eax
	movl	%eax, %r13d
	shrl	$31, %r13d
	addl	%eax, %r13d
	sarl	%r13d
	addl	$256, %r13d                     ## imm = 0x100
	movl	8(%r12), %edx
	movl	$1544, %eax                     ## imm = 0x608
	jmp	LBB0_7
LBB0_3:
	shrq	$32, %rax
	testl	%r14d, %r14d
	movl	$10, %ecx
	movl	$25, %edx
	cmovel	%ecx, %edx
	shll	$6, %r14d
	orl	$32, %r14d
	cmpl	%eax, %edx
	movl	$129, %eax
	movl	$80, %edx
	cmovgl	%eax, %edx
	movq	%r12, %rdi
	movl	$17, %esi
	callq	_i2c_w
	movq	%r12, %rdi
	movl	$18, %esi
	movl	%r14d, %edx
	jmp	LBB0_21
LBB0_5:
	movl	$1040, %eax                     ## imm = 0x410
	subl	%r15d, %eax
	movl	%eax, %r13d
	shrl	$31, %r13d
	addl	%eax, %r13d
	sarl	%r13d
	addl	$496, %r13d                     ## imm = 0x1F0
	movl	8(%r12), %edx
	movl	$776, %eax                      ## imm = 0x308
LBB0_7:
	subl	%edx, %eax
	movl	%eax, %esi
	shrl	$31, %esi
	addl	%eax, %esi
	movl	%esi, -44(%rbp)                 ## 4-byte Spill
	movl	%esi, %ebx
	sarl	%ebx
	addl	%r13d, %r15d
	addl	%ebx, %edx
	movl	%edx, -48(%rbp)                 ## 4-byte Spill
	shll	$6, %r14d
	movq	%r12, %rdi
	movl	$18, %esi
	movl	%r14d, %edx
	movl	$240, %ecx
	callq	_i2c_w_mask
	movl	%r15d, %eax
	andl	$14, %eax
	movl	%r13d, %ecx
	shrl	%ecx
	andl	$7, %ecx
	leal	(%rcx,%rax,4), %edx
	movq	%r12, %rdi
	movl	$50, %esi
	movl	$63, %ecx
	callq	_i2c_w_mask
	movl	-48(%rbp), %r14d                ## 4-byte Reload
	movl	%r14d, %eax
	andl	$6, %eax
	shrl	%ebx
	andl	$3, %ebx
	leal	(%rbx,%rax,2), %edx
	movq	%r12, %rdi
	movl	$3, %esi
	movl	$15, %ecx
	callq	_i2c_w_mask
	sarl	$4, %r13d
	movq	%r12, %rdi
	movl	$23, %esi
	movl	%r13d, %edx
	callq	_i2c_w
	sarl	$4, %r15d
	movq	%r12, %rdi
	movl	$24, %esi
	movl	%r15d, %edx
	callq	_i2c_w
	movl	-44(%rbp), %edx                 ## 4-byte Reload
	sarl	$4, %edx
	movq	%r12, %rdi
	movl	$25, %esi
	callq	_i2c_w
	movl	%r14d, %edx
	sarl	$3, %edx
	movq	%r12, %rdi
	movl	$26, %esi
	jmp	LBB0_21
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_17, LBB0_17-LJTI0_0
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_12, LBB0_12-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_13, LBB0_13-LJTI0_0
.set L0_0_set_4, LBB0_4-LJTI0_0
.set L0_0_set_3, LBB0_3-LJTI0_0
.set L0_0_set_2, LBB0_2-LJTI0_0
LJTI0_0:
	.long	L0_0_set_17
	.long	L0_0_set_18
	.long	L0_0_set_9
	.long	L0_0_set_12
	.long	L0_0_set_11
	.long	L0_0_set_11
	.long	L0_0_set_9
	.long	L0_0_set_9
	.long	L0_0_set_8
	.long	L0_0_set_16
	.long	L0_0_set_16
	.long	L0_0_set_13
	.long	L0_0_set_4
	.long	L0_0_set_3
	.long	L0_0_set_2
	.end_data_region
                                        ## -- End function
	.comm	_OV7610_REG_COM_C,4,2           ## @OV7610_REG_COM_C
	.comm	_OV7670_R12_COM7,4,2            ## @OV7670_R12_COM7
	.comm	_OV7670_COM7_FMT_QVGA,4,2       ## @OV7670_COM7_FMT_QVGA
	.comm	_OV7670_COM7_FMT_VGA,4,2        ## @OV7670_COM7_FMT_VGA
	.comm	_OV7670_COM7_FMT_MASK,4,2       ## @OV7670_COM7_FMT_MASK
	.comm	_OV7670_R13_COM8,4,2            ## @OV7670_R13_COM8
	.comm	_OV7670_COM8_AWB,4,2            ## @OV7670_COM8_AWB
	.comm	_OV7670_R17_HSTART,4,2          ## @OV7670_R17_HSTART
	.comm	_OV7670_R18_HSTOP,4,2           ## @OV7670_R18_HSTOP
	.comm	_OV7670_R32_HREF,4,2            ## @OV7670_R32_HREF
	.comm	_OV7670_R19_VSTART,4,2          ## @OV7670_R19_VSTART
	.comm	_OV7670_R1A_VSTOP,4,2           ## @OV7670_R1A_VSTOP
	.comm	_OV7670_R03_VREF,4,2            ## @OV7670_R03_VREF
	.section	__TEXT,__const
	.p2align	4                               ## @mode_init_ov_sensor_regs.sxga_15
_mode_init_ov_sensor_regs.sxga_15:
	.long	17                              ## 0x11
	.long	128                             ## 0x80
	.long	20                              ## 0x14
	.long	62                              ## 0x3e
	.long	36                              ## 0x24
	.long	133                             ## 0x85
	.long	37                              ## 0x25
	.long	117                             ## 0x75

	.p2align	4                               ## @mode_init_ov_sensor_regs.sxga_7_5
_mode_init_ov_sensor_regs.sxga_7_5:
	.long	17                              ## 0x11
	.long	129                             ## 0x81
	.long	20                              ## 0x14
	.long	62                              ## 0x3e
	.long	36                              ## 0x24
	.long	133                             ## 0x85
	.long	37                              ## 0x25
	.long	117                             ## 0x75

	.p2align	4                               ## @mode_init_ov_sensor_regs.vga_30
_mode_init_ov_sensor_regs.vga_30:
	.long	17                              ## 0x11
	.long	129                             ## 0x81
	.long	20                              ## 0x14
	.long	126                             ## 0x7e
	.long	36                              ## 0x24
	.long	112                             ## 0x70
	.long	37                              ## 0x25
	.long	96                              ## 0x60

	.p2align	4                               ## @mode_init_ov_sensor_regs.vga_15
_mode_init_ov_sensor_regs.vga_15:
	.long	17                              ## 0x11
	.long	131                             ## 0x83
	.long	20                              ## 0x14
	.long	62                              ## 0x3e
	.long	36                              ## 0x24
	.long	128                             ## 0x80
	.long	37                              ## 0x25
	.long	112                             ## 0x70

	.no_dead_strip	_mode_init_ov_sensor_regs
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mode_init_ov_sensor_regs
_mode_init_ov_sensor_regs:              ; @mode_init_ov_sensor_regs
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	ldr	x8, [x0]
	sub	w9, w8, #128
	cmp	w9, #14
	b.hi	LBB0_15
; %bb.1:
	mov	x19, x0
	ldr	x10, [x0, #16]
	ldr	w10, [x10, x8, lsl #2]
	and	w23, w10, #0x1
Lloh0:
	adrp	x10, lJTI0_0@PAGE
Lloh1:
	add	x10, x10, lJTI0_0@PAGEOFF
	adr	x11, LBB0_2
	ldrh	w12, [x10, x9, lsl #1]
	add	x11, x11, x12, lsl #2
	br	x11
LBB0_2:
	lsl	w20, w23, #5
	mov	w21, #32
	mov	x0, x19
	mov	w1, #20
	mov	x2, x20
	mov	w3, #32
	bl	_i2c_w_mask
	eor	w2, w20, #0x20
	mov	x0, x19
	mov	w1, #40
	mov	w3, #32
	bl	_i2c_w_mask
	mov	w8, #58
	cmp	w23, #0
	csel	w2, w8, w21, eq
	mov	w8, #48
	mov	w9, #96
	csel	w21, w9, w8, eq
	mov	w8, #176
	mov	w9, #144
	csel	w22, w9, w8, eq
	mov	x0, x19
	mov	w1, #36
	bl	_i2c_w
	mov	x0, x19
	mov	w1, #37
	mov	x2, x21
	bl	_i2c_w
	lsl	w2, w23, #6
	mov	x0, x19
	mov	w1, #45
	mov	w3, #64
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #103
	mov	x2, x22
	mov	w3, #240
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #116
	mov	x2, x20
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #19
	mov	w2, #0
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #18
	mov	w2, #4
	mov	w3, #6
	bl	_i2c_w_mask
	ldr	w8, [x19]
	cmp	w8, #130
	b.ne	LBB0_12
; %bb.3:
	mov	w8, #30
	mov	w9, #158
	cmp	w23, #0
	csel	w2, w9, w8, eq
	mov	x0, x19
	mov	w1, #53
	bl	_i2c_w
	b	LBB0_12
LBB0_4:
	lsl	w20, w23, #5
	mov	x0, x19
	mov	w1, #20
	mov	x2, x20
	mov	w3, #32
	bl	_i2c_w_mask
	eor	w2, w20, #0x20
	mov	x0, x19
	mov	w1, #40
	mov	w3, #32
	bl	_i2c_w_mask
	lsl	w2, w23, #6
	mov	x0, x19
	mov	w1, #45
	mov	w3, #64
	bl	_i2c_w_mask
	mov	w8, #240
	mov	w9, #144
	cmp	w23, #0
	csel	w2, w9, w8, eq
	mov	x0, x19
	mov	w1, #103
	mov	w3, #240
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #116
	mov	x2, x20
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #18
	mov	w2, #4
	mov	w3, #4
	b	LBB0_11
LBB0_5:
	lsl	w2, w23, #5
	mov	x0, x19
	mov	w1, #20
	b	LBB0_10
LBB0_6:
Lloh2:
	adrp	x8, _OV7670_R12_COM7@GOTPAGE
Lloh3:
	ldr	x8, [x8, _OV7670_R12_COM7@GOTPAGEOFF]
Lloh4:
	ldr	w1, [x8]
Lloh5:
	adrp	x8, _OV7670_COM7_FMT_QVGA@GOTPAGE
Lloh6:
	ldr	x8, [x8, _OV7670_COM7_FMT_QVGA@GOTPAGEOFF]
Lloh7:
	adrp	x9, _OV7670_COM7_FMT_VGA@GOTPAGE
Lloh8:
	ldr	x9, [x9, _OV7670_COM7_FMT_VGA@GOTPAGEOFF]
	cmp	w23, #0
	csel	x8, x9, x8, eq
	ldr	w2, [x8]
Lloh9:
	adrp	x8, _OV7670_COM7_FMT_MASK@GOTPAGE
Lloh10:
	ldr	x8, [x8, _OV7670_COM7_FMT_MASK@GOTPAGEOFF]
Lloh11:
	ldr	w3, [x8]
	mov	w8, #28
	mov	w9, #14
	csel	w24, w9, w8, eq
	mov	w8, #164
	mov	w9, #158
	csel	w22, w9, w8, eq
	mov	x0, x19
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #19
	mov	w2, #0
	mov	w3, #32
	bl	_i2c_w_mask
Lloh12:
	adrp	x8, _OV7670_R13_COM8@GOTPAGE
Lloh13:
	ldr	x8, [x8, _OV7670_R13_COM8@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
Lloh15:
	adrp	x8, _OV7670_COM8_AWB@GOTPAGE
Lloh16:
	ldr	x8, [x8, _OV7670_COM8_AWB@GOTPAGEOFF]
Lloh17:
	ldr	w2, [x8]
	lsr	w25, w24, #1
	orr	w21, w23, #0x2
	mov	w8, #122
	orr	w20, w23, w8
	mov	x0, x19
	mov	x3, x2
	bl	_i2c_w_mask
Lloh18:
	adrp	x8, _OV7670_R17_HSTART@GOTPAGE
Lloh19:
	ldr	x8, [x8, _OV7670_R17_HSTART@GOTPAGEOFF]
Lloh20:
	ldr	w1, [x8]
	lsr	w2, w22, #3
	mov	x0, x19
	bl	_i2c_w
Lloh21:
	adrp	x8, _OV7670_R18_HSTOP@GOTPAGE
Lloh22:
	ldr	x8, [x8, _OV7670_R18_HSTOP@GOTPAGEOFF]
Lloh23:
	ldr	w1, [x8]
	lsr	w2, w24, #3
	mov	x0, x19
	bl	_i2c_w
Lloh24:
	adrp	x23, _OV7670_R32_HREF@GOTPAGE
Lloh25:
	ldr	x23, [x23, _OV7670_R32_HREF@GOTPAGEOFF]
	ldr	w1, [x23]
	mov	x0, x19
	bl	_i2c_r
	and	w8, w0, #0xc0
	and	w9, w22, #0x6
	bfi	w9, w25, #4, #2
	orr	w22, w9, w8
	mov	w24, #10
	mov	w0, #10
	bl	_msleep
	ldr	w1, [x23]
	mov	x0, x19
	mov	x2, x22
	bl	_i2c_w
Lloh26:
	adrp	x8, _OV7670_R19_VSTART@GOTPAGE
Lloh27:
	ldr	x8, [x8, _OV7670_R19_VSTART@GOTPAGEOFF]
Lloh28:
	ldr	w1, [x8]
	mov	x0, x19
	mov	x2, x21
	bl	_i2c_w
Lloh29:
	adrp	x8, _OV7670_R1A_VSTOP@GOTPAGE
Lloh30:
	ldr	x8, [x8, _OV7670_R1A_VSTOP@GOTPAGEOFF]
Lloh31:
	ldr	w1, [x8]
	mov	x0, x19
	mov	x2, x20
	bl	_i2c_w
Lloh32:
	adrp	x21, _OV7670_R03_VREF@GOTPAGE
Lloh33:
	ldr	x21, [x21, _OV7670_R03_VREF@GOTPAGEOFF]
	ldr	w1, [x21]
	mov	x0, x19
	bl	_i2c_r
	and	w8, w0, #0xc0
	orr	w20, w8, w24
	mov	w0, #10
	bl	_msleep
	ldr	w1, [x21]
	mov	x0, x19
	mov	x2, x20
	bl	_i2c_w
	b	LBB0_12
LBB0_7:
	lsl	w2, w23, #5
	mov	x0, x19
	mov	w1, #20
	mov	w3, #32
	bl	_i2c_w_mask
	mov	w8, #30
	mov	w9, #158
	cmp	w23, #0
	csel	w2, w9, w8, eq
	mov	x0, x19
	mov	w1, #53
	bl	_i2c_w
	b	LBB0_9
LBB0_8:
	lsl	w2, w23, #5
	mov	x0, x19
	mov	w1, #20
	mov	w3, #32
	bl	_i2c_w_mask
LBB0_9:
	mov	x0, x19
	mov	w1, #19
	mov	w2, #0
LBB0_10:
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #18
	mov	w2, #4
	mov	w3, #6
LBB0_11:
	bl	_i2c_w_mask
LBB0_12:
	ldr	w2, [x19, #8]
	mov	x0, x19
	mov	w1, #17
LBB0_13:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_i2c_w
LBB0_14:
	lsl	w20, w23, #5
	mov	w21, #32
	mov	x0, x19
	mov	w1, #20
	mov	x2, x20
	mov	w3, #32
	bl	_i2c_w_mask
	eor	w2, w20, #0x20
	mov	x0, x19
	mov	w1, #40
	mov	w3, #32
	bl	_i2c_w_mask
	mov	w8, #58
	cmp	w23, #0
	csel	w2, w8, w21, eq
	mov	w8, #48
	mov	w9, #96
	csel	w21, w9, w8, eq
	mov	w8, #240
	mov	w9, #144
	csel	w22, w9, w8, eq
	mov	x0, x19
	mov	w1, #36
	bl	_i2c_w
	mov	x0, x19
	mov	w1, #37
	mov	x2, x21
	bl	_i2c_w
	lsl	w2, w23, #6
	mov	x0, x19
	mov	w1, #45
	mov	w3, #64
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #103
	mov	x2, x22
	mov	w3, #240
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #116
	mov	x2, x20
	mov	w3, #32
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_i2c_w_mask
LBB0_15:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
LBB0_16:
	lsl	w2, w23, #6
	mov	x0, x19
	mov	w1, #18
	mov	w3, #64
	bl	_i2c_w_mask
	ldr	w8, [x19, #4]
Lloh34:
	adrp	x9, _mode_init_ov_sensor_regs.vga_30@PAGE
Lloh35:
	add	x9, x9, _mode_init_ov_sensor_regs.vga_30@PAGEOFF
Lloh36:
	adrp	x10, _mode_init_ov_sensor_regs.vga_15@PAGE
Lloh37:
	add	x10, x10, _mode_init_ov_sensor_regs.vga_15@PAGEOFF
	cmp	w8, #30
	csel	x9, x10, x9, lt
Lloh38:
	adrp	x0, _mode_init_ov_sensor_regs.sxga_15@PAGE
Lloh39:
	add	x0, x0, _mode_init_ov_sensor_regs.sxga_15@PAGEOFF
Lloh40:
	adrp	x10, _mode_init_ov_sensor_regs.sxga_7_5@PAGE
Lloh41:
	add	x10, x10, _mode_init_ov_sensor_regs.sxga_7_5@PAGEOFF
	cmp	w8, #15
	csel	x8, x10, x0, lt
	cmp	w23, #0
	csel	x20, x8, x9, eq
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_write_i2c_regvals
LBB0_17:
Lloh42:
	adrp	x8, _OV7610_REG_COM_C@GOTPAGE
Lloh43:
	ldr	x8, [x8, _OV7610_REG_COM_C@GOTPAGEOFF]
Lloh44:
	ldr	w1, [x8]
	lsl	w2, w23, #5
	mov	x0, x19
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #19
	mov	w2, #0
	mov	w3, #32
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #18
	mov	w2, #4
	mov	w3, #6
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #45
	mov	w2, #0
	mov	w3, #64
	bl	_i2c_w_mask
	mov	x0, x19
	mov	w1, #40
	mov	w2, #32
	mov	w3, #32
	b	LBB0_11
LBB0_18:
	ldr	w8, [x19, #12]
	cbnz	w23, LBB0_21
; %bb.19:
	mov	w9, #2076
	sub	w9, w9, w8
	mov	w10, #2077
	sub	w10, w10, w8
	cmp	w9, #0
	csel	w9, w10, w9, lt
	asr	w9, w9, #1
	add	w20, w9, #256
	ldr	w9, [x19, #8]
	mov	w10, #1544
	b	LBB0_22
LBB0_20:
	lsr	x8, x8, #32
	mov	w9, #25
	mov	w10, #10
	cmp	w23, #0
	csel	w9, w10, w9, eq
	mov	w10, #96
	mov	w11, #32
	csel	w20, w11, w10, eq
	mov	w10, #80
	mov	w11, #129
	cmp	w9, w8
	csel	w2, w11, w10, gt
	mov	x0, x19
	mov	w1, #17
	bl	_i2c_w
	mov	x0, x19
	mov	w1, #18
	mov	x2, x20
	b	LBB0_13
LBB0_21:
	mov	w9, #1040
	sub	w9, w9, w8
	mov	w10, #1041
	sub	w10, w10, w8
	cmp	w9, #0
	csel	w9, w10, w9, lt
	asr	w9, w9, #1
	add	w20, w9, #496
	ldr	w9, [x19, #8]
	mov	w10, #776
LBB0_22:
	sub	w10, w10, w9
	cmp	w10, #0
	cinc	w22, w10, lt
	asr	w24, w22, #1
	add	w25, w8, w20
	add	w21, w9, w24
	lsl	w2, w23, #6
	mov	x0, x19
	mov	w1, #18
	mov	w3, #240
	bl	_i2c_w_mask
	lsl	w8, w25, #2
	and	w2, w8, #0x38
	bfxil	w2, w20, #1, #3
	mov	x0, x19
	mov	w1, #50
	mov	w3, #63
	bl	_i2c_w_mask
	lsl	w8, w21, #1
	and	w2, w8, #0xc
	bfxil	w2, w24, #1, #2
	mov	x0, x19
	mov	w1, #3
	mov	w3, #15
	bl	_i2c_w_mask
	asr	w2, w20, #4
	mov	x0, x19
	mov	w1, #23
	bl	_i2c_w
	asr	w2, w25, #4
	mov	x0, x19
	mov	w1, #24
	bl	_i2c_w
	asr	w2, w22, #4
	mov	x0, x19
	mov	w1, #25
	bl	_i2c_w
	asr	w2, w21, #3
	mov	x0, x19
	mov	w1, #26
	b	LBB0_13
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpAdd	Lloh40, Lloh41
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.cfi_endproc
	.section	__TEXT,__const
	.p2align	1
lJTI0_0:
	.short	(LBB0_16-LBB0_2)>>2
	.short	(LBB0_17-LBB0_2)>>2
	.short	(LBB0_2-LBB0_2)>>2
	.short	(LBB0_6-LBB0_2)>>2
	.short	(LBB0_4-LBB0_2)>>2
	.short	(LBB0_4-LBB0_2)>>2
	.short	(LBB0_2-LBB0_2)>>2
	.short	(LBB0_2-LBB0_2)>>2
	.short	(LBB0_7-LBB0_2)>>2
	.short	(LBB0_5-LBB0_2)>>2
	.short	(LBB0_5-LBB0_2)>>2
	.short	(LBB0_8-LBB0_2)>>2
	.short	(LBB0_18-LBB0_2)>>2
	.short	(LBB0_20-LBB0_2)>>2
	.short	(LBB0_14-LBB0_2)>>2
                                        ; -- End function
	.comm	_OV7610_REG_COM_C,4,2           ; @OV7610_REG_COM_C
	.comm	_OV7670_R12_COM7,4,2            ; @OV7670_R12_COM7
	.comm	_OV7670_COM7_FMT_QVGA,4,2       ; @OV7670_COM7_FMT_QVGA
	.comm	_OV7670_COM7_FMT_VGA,4,2        ; @OV7670_COM7_FMT_VGA
	.comm	_OV7670_COM7_FMT_MASK,4,2       ; @OV7670_COM7_FMT_MASK
	.comm	_OV7670_R13_COM8,4,2            ; @OV7670_R13_COM8
	.comm	_OV7670_COM8_AWB,4,2            ; @OV7670_COM8_AWB
	.comm	_OV7670_R17_HSTART,4,2          ; @OV7670_R17_HSTART
	.comm	_OV7670_R18_HSTOP,4,2           ; @OV7670_R18_HSTOP
	.comm	_OV7670_R32_HREF,4,2            ; @OV7670_R32_HREF
	.comm	_OV7670_R19_VSTART,4,2          ; @OV7670_R19_VSTART
	.comm	_OV7670_R1A_VSTOP,4,2           ; @OV7670_R1A_VSTOP
	.comm	_OV7670_R03_VREF,4,2            ; @OV7670_R03_VREF
	.p2align	2                               ; @mode_init_ov_sensor_regs.sxga_15
_mode_init_ov_sensor_regs.sxga_15:
	.long	17                              ; 0x11
	.long	128                             ; 0x80
	.long	20                              ; 0x14
	.long	62                              ; 0x3e
	.long	36                              ; 0x24
	.long	133                             ; 0x85
	.long	37                              ; 0x25
	.long	117                             ; 0x75

	.p2align	2                               ; @mode_init_ov_sensor_regs.sxga_7_5
_mode_init_ov_sensor_regs.sxga_7_5:
	.long	17                              ; 0x11
	.long	129                             ; 0x81
	.long	20                              ; 0x14
	.long	62                              ; 0x3e
	.long	36                              ; 0x24
	.long	133                             ; 0x85
	.long	37                              ; 0x25
	.long	117                             ; 0x75

	.p2align	2                               ; @mode_init_ov_sensor_regs.vga_30
_mode_init_ov_sensor_regs.vga_30:
	.long	17                              ; 0x11
	.long	129                             ; 0x81
	.long	20                              ; 0x14
	.long	126                             ; 0x7e
	.long	36                              ; 0x24
	.long	112                             ; 0x70
	.long	37                              ; 0x25
	.long	96                              ; 0x60

	.p2align	2                               ; @mode_init_ov_sensor_regs.vga_15
_mode_init_ov_sensor_regs.vga_15:
	.long	17                              ; 0x11
	.long	131                             ; 0x83
	.long	20                              ; 0x14
	.long	62                              ; 0x3e
	.long	36                              ; 0x24
	.long	128                             ; 0x80
	.long	37                              ; 0x25
	.long	112                             ; 0x70

	.no_dead_strip	_mode_init_ov_sensor_regs
.subsections_via_symbols
