	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function sd_init
_sd_init:                               ## @sd_init
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %rbx
	movl	$-142, %eax
	addl	(%rdi), %eax
	cmpl	$6, %eax
	ja	LBB0_7
## %bb.1:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_2:
	movq	%rbx, %rdi
	callq	_ov518_configure
	jmp	LBB0_7
LBB0_3:
	movq	%rbx, %rdi
	callq	_ov511_configure
	jmp	LBB0_7
LBB0_4:
	movq	%rbx, %rdi
	callq	_w9968cf_configure
	jmp	LBB0_7
LBB0_5:
	movq	%rbx, %rdi
	callq	_ovfx2_configure
	jmp	LBB0_7
LBB0_6:
	movq	%rbx, %rdi
	callq	_ov519_configure
LBB0_7:
	movl	$-1, 4(%rbx)
	movq	_OV7xx0_SID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_init_ov_sensor
	testq	%rax, %rax
	js	LBB0_9
## %bb.8:
	movq	%rbx, %rdi
	callq	_ov7xx0_configure
	cmpl	$0, 4(%rbx)
	jns	LBB0_15
	jmp	LBB0_32
LBB0_9:
	movq	_OV6xx0_SID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_init_ov_sensor
	testq	%rax, %rax
	js	LBB0_11
## %bb.10:
	movq	%rbx, %rdi
	callq	_ov6xx0_configure
	cmpl	$0, 4(%rbx)
	jns	LBB0_15
	jmp	LBB0_32
LBB0_11:
	movq	_OV8xx0_SID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_init_ov_sensor
	testq	%rax, %rax
	js	LBB0_13
## %bb.12:
	movq	%rbx, %rdi
	callq	_ov8xx0_configure
	cmpl	$0, 4(%rbx)
	jns	LBB0_15
	jmp	LBB0_32
LBB0_13:
	movq	_OV_HIRES_SID@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_init_ov_sensor
	testq	%rax, %rax
	js	LBB0_31
## %bb.14:
	movq	%rbx, %rdi
	callq	_ov_hires_configure
	cmpl	$0, 4(%rbx)
	js	LBB0_32
LBB0_15:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_ov51x_led_control
	movl	$-142, %eax
	addl	(%rbx), %eax
	cmpl	$6, %eax
	ja	LBB0_35
## %bb.16:
	leaq	LJTI0_1(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_17:
	cmpl	$0, 12(%rbx)
	je	LBB0_35
## %bb.18:
	movq	_ov518_sif_mode@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_19:
	cmpl	$0, 12(%rbx)
	je	LBB0_35
## %bb.20:
	movq	_ov511_sif_mode@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_21:
	cmpl	$0, 12(%rbx)
	je	LBB0_23
## %bb.22:
	movq	_w9968cf_vga_mode@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	callq	_ARRAY_SIZE
	decq	%rax
	movq	%rax, 8(%rbx)
LBB0_23:
	movq	%rbx, %rdi
	callq	_w9968cf_init
	jmp	LBB0_35
LBB0_24:
	movl	4(%rbx), %eax
	leal	-140(%rax), %ecx
	cmpl	$2, %ecx
	jb	LBB0_30
## %bb.25:
	cmpl	$128, %eax
	je	LBB0_33
## %bb.26:
	cmpl	$139, %eax
	jne	LBB0_55
## %bb.27:
	movq	_ovfx2_ov3610_mode@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_28:
	cmpl	$0, 12(%rbx)
	je	LBB0_35
LBB0_29:
	movq	_ov519_sif_mode@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_30:
	movq	_ovfx2_ov2610_mode@GOTPCREL(%rip), %rax
	jmp	LBB0_34
LBB0_31:
	leaq	L_.str(%rip), %rsi
	movq	%rbx, %rdi
	callq	_gspca_err
LBB0_32:
	leaq	L_.str.1(%rip), %rsi
	movq	%rbx, %rdi
	callq	_gspca_err
	movq	_EINVAL@GOTPCREL(%rip), %rcx
	xorl	%eax, %eax
	subl	(%rcx), %eax
	jmp	LBB0_54
LBB0_33:
	movq	_ovfx2_ov9600_mode@GOTPCREL(%rip), %rax
LBB0_34:
	movq	(%rax), %rdi
	movq	%rdi, 16(%rbx)
	callq	_ARRAY_SIZE
	movq	%rax, 8(%rbx)
LBB0_35:
	movl	4(%rbx), %eax
LBB0_36:
	addl	$-128, %eax
	cmpl	$13, %eax
	ja	LBB0_41
## %bb.37:
	leaq	LJTI0_2(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_38:
	movq	_norm_7640@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_39:
	movq	_norm_7620@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_40:
	movq	_norm_6x30@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_41:
	movq	_norm_7610@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_i2c_regvals
	movq	%rbx, %rdi
	movl	$14, %esi
	xorl	%edx, %edx
	movl	$64, %ecx
	jmp	LBB0_52
LBB0_42:
	movq	_norm_9600@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_43:
	movq	_norm_8610@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_44:
	movq	_norm_7670@GOTPCREL(%rip), %rax
	jmp	LBB0_47
LBB0_45:
	movq	_OV7670_R12_COM7@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_OV7670_COM7_RESET@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_i2c_w
	movl	$14, %edi
	callq	_msleep
	movq	_OV519_R57_SNAPSHOT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movl	$35, %edx
	callq	_reg_w
	movq	_init_519_ov7660@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_regvals
	movq	_norm_7660@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_i2c_regvals
	movl	$1, 8(%rbx)
	movq	%rbx, %rdi
	callq	_ov519_set_mode
	movq	%rbx, %rdi
	callq	_ov519_set_fr
	movq	%rbx, %rdi
	callq	_sd_reset_snapshot
	movq	%rbx, %rdi
	callq	_ov51x_restart
	movq	%rbx, %rdi
	callq	_ov51x_stop
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_ov51x_led_control
	jmp	LBB0_53
LBB0_46:
	movq	_norm_6x20@GOTPCREL(%rip), %rax
LBB0_47:
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_i2c_regvals
	jmp	LBB0_53
LBB0_48:
	movq	_norm_3620b@GOTPCREL(%rip), %rax
	jmp	LBB0_51
LBB0_49:
	movq	_norm_2610ae@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_i2c_regvals
	movq	%rbx, %rdi
	movl	$19, %esi
	movl	$5, %edx
	movl	$5, %ecx
	jmp	LBB0_52
LBB0_50:
	movq	_norm_2610@GOTPCREL(%rip), %rax
LBB0_51:
	movq	(%rax), %r14
	movq	%r14, %rdi
	callq	_ARRAY_SIZE
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_write_i2c_regvals
	movq	%rbx, %rdi
	movl	$19, %esi
	movl	$39, %edx
	movl	$39, %ecx
LBB0_52:
	callq	_i2c_w_mask
LBB0_53:
	movl	(%rbx), %eax
LBB0_54:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_55:
	cmpl	$0, 12(%rbx)
	jne	LBB0_29
	jmp	LBB0_36
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_4, LBB0_4-LJTI0_0
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_6, LBB0_6-LJTI0_0
.set L0_0_set_2, LBB0_2-LJTI0_0
.set L0_0_set_3, LBB0_3-LJTI0_0
LJTI0_0:
	.long	L0_0_set_4
	.long	L0_0_set_5
	.long	L0_0_set_6
	.long	L0_0_set_2
	.long	L0_0_set_2
	.long	L0_0_set_3
	.long	L0_0_set_3
.set L0_1_set_21, LBB0_21-LJTI0_1
.set L0_1_set_24, LBB0_24-LJTI0_1
.set L0_1_set_28, LBB0_28-LJTI0_1
.set L0_1_set_17, LBB0_17-LJTI0_1
.set L0_1_set_19, LBB0_19-LJTI0_1
LJTI0_1:
	.long	L0_1_set_21
	.long	L0_1_set_24
	.long	L0_1_set_28
	.long	L0_1_set_17
	.long	L0_1_set_17
	.long	L0_1_set_19
	.long	L0_1_set_19
.set L0_2_set_42, LBB0_42-LJTI0_2
.set L0_2_set_43, LBB0_43-LJTI0_2
.set L0_2_set_44, LBB0_44-LJTI0_2
.set L0_2_set_45, LBB0_45-LJTI0_2
.set L0_2_set_38, LBB0_38-LJTI0_2
.set L0_2_set_39, LBB0_39-LJTI0_2
.set L0_2_set_40, LBB0_40-LJTI0_2
.set L0_2_set_46, LBB0_46-LJTI0_2
.set L0_2_set_48, LBB0_48-LJTI0_2
.set L0_2_set_49, LBB0_49-LJTI0_2
.set L0_2_set_50, LBB0_50-LJTI0_2
LJTI0_2:
	.long	L0_2_set_42
	.long	L0_2_set_43
	.long	L0_2_set_44
	.long	L0_2_set_45
	.long	L0_2_set_38
	.long	L0_2_set_38
	.long	L0_2_set_39
	.long	L0_2_set_39
	.long	L0_2_set_40
	.long	L0_2_set_40
	.long	L0_2_set_46
	.long	L0_2_set_48
	.long	L0_2_set_49
	.long	L0_2_set_50
	.end_data_region
                                        ## -- End function
	.comm	_OV7xx0_SID,4,2                 ## @OV7xx0_SID
	.comm	_OV6xx0_SID,4,2                 ## @OV6xx0_SID
	.comm	_OV8xx0_SID,4,2                 ## @OV8xx0_SID
	.comm	_OV_HIRES_SID,4,2               ## @OV_HIRES_SID
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Can't determine sensor slave IDs\n"

	.comm	_ov511_sif_mode,8,3             ## @ov511_sif_mode
	.comm	_ov518_sif_mode,8,3             ## @ov518_sif_mode
	.comm	_ov519_sif_mode,8,3             ## @ov519_sif_mode
	.comm	_ovfx2_ov2610_mode,8,3          ## @ovfx2_ov2610_mode
	.comm	_ovfx2_ov3610_mode,8,3          ## @ovfx2_ov3610_mode
	.comm	_ovfx2_ov9600_mode,8,3          ## @ovfx2_ov9600_mode
	.comm	_w9968cf_vga_mode,8,3           ## @w9968cf_vga_mode
	.comm	_norm_2610,8,3                  ## @norm_2610
	.comm	_norm_2610ae,8,3                ## @norm_2610ae
	.comm	_norm_3620b,8,3                 ## @norm_3620b
	.comm	_norm_6x20,8,3                  ## @norm_6x20
	.comm	_norm_6x30,8,3                  ## @norm_6x30
	.comm	_norm_7610,8,3                  ## @norm_7610
	.comm	_norm_7620,8,3                  ## @norm_7620
	.comm	_norm_7640,8,3                  ## @norm_7640
	.comm	_OV7670_R12_COM7,4,2            ## @OV7670_R12_COM7
	.comm	_OV7670_COM7_RESET,4,2          ## @OV7670_COM7_RESET
	.comm	_OV519_R57_SNAPSHOT,4,2         ## @OV519_R57_SNAPSHOT
	.comm	_init_519_ov7660,8,3            ## @init_519_ov7660
	.comm	_norm_7660,8,3                  ## @norm_7660
	.comm	_norm_7670,8,3                  ## @norm_7670
	.comm	_norm_8610,8,3                  ## @norm_8610
	.comm	_norm_9600,8,3                  ## @norm_9600
L_.str.1:                               ## @.str.1
	.asciz	"OV519 Config failed\n"

	.comm	_EINVAL,4,2                     ## @EINVAL
	.no_dead_strip	_sd_init
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function sd_init
_sd_init:                               ; @sd_init
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	ldr	w8, [x0]
	sub	w8, w8, #142
	cmp	w8, #6
	b.hi	LBB0_7
; %bb.1:
Lloh0:
	adrp	x9, lJTI0_0@PAGE
Lloh1:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_2
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_2:
	mov	x0, x19
	bl	_ov518_configure
	b	LBB0_7
LBB0_3:
	mov	x0, x19
	bl	_ov511_configure
	b	LBB0_7
LBB0_4:
	mov	x0, x19
	bl	_w9968cf_configure
	b	LBB0_7
LBB0_5:
	mov	x0, x19
	bl	_ovfx2_configure
	b	LBB0_7
LBB0_6:
	mov	x0, x19
	bl	_ov519_configure
LBB0_7:
	mov	w8, #-1
	str	w8, [x19, #4]
Lloh2:
	adrp	x8, _OV7xx0_SID@GOTPAGE
Lloh3:
	ldr	x8, [x8, _OV7xx0_SID@GOTPAGEOFF]
Lloh4:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_init_ov_sensor
	tbnz	x0, #63, LBB0_9
; %bb.8:
	mov	x0, x19
	bl	_ov7xx0_configure
	ldr	w8, [x19, #4]
	tbz	w8, #31, LBB0_15
	b	LBB0_32
LBB0_9:
Lloh5:
	adrp	x8, _OV6xx0_SID@GOTPAGE
Lloh6:
	ldr	x8, [x8, _OV6xx0_SID@GOTPAGEOFF]
Lloh7:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_init_ov_sensor
	tbnz	x0, #63, LBB0_11
; %bb.10:
	mov	x0, x19
	bl	_ov6xx0_configure
	ldr	w8, [x19, #4]
	tbz	w8, #31, LBB0_15
	b	LBB0_32
LBB0_11:
Lloh8:
	adrp	x8, _OV8xx0_SID@GOTPAGE
Lloh9:
	ldr	x8, [x8, _OV8xx0_SID@GOTPAGEOFF]
Lloh10:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_init_ov_sensor
	tbnz	x0, #63, LBB0_13
; %bb.12:
	mov	x0, x19
	bl	_ov8xx0_configure
	ldr	w8, [x19, #4]
	tbz	w8, #31, LBB0_15
	b	LBB0_32
LBB0_13:
Lloh11:
	adrp	x8, _OV_HIRES_SID@GOTPAGE
Lloh12:
	ldr	x8, [x8, _OV_HIRES_SID@GOTPAGEOFF]
Lloh13:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_init_ov_sensor
	tbnz	x0, #63, LBB0_31
; %bb.14:
	mov	x0, x19
	bl	_ov_hires_configure
	ldr	w8, [x19, #4]
	tbnz	w8, #31, LBB0_32
LBB0_15:
	mov	x0, x19
	mov	w1, #0
	bl	_ov51x_led_control
	ldr	w8, [x19]
	sub	w8, w8, #142
	cmp	w8, #6
	b.hi	LBB0_35
; %bb.16:
Lloh14:
	adrp	x9, lJTI0_1@PAGE
Lloh15:
	add	x9, x9, lJTI0_1@PAGEOFF
	adr	x10, LBB0_17
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_17:
	ldr	w8, [x19, #12]
	cbz	w8, LBB0_35
; %bb.18:
Lloh16:
	adrp	x8, _ov518_sif_mode@GOTPAGE
Lloh17:
	ldr	x8, [x8, _ov518_sif_mode@GOTPAGEOFF]
	b	LBB0_34
LBB0_19:
	ldr	w8, [x19, #12]
	cbz	w8, LBB0_35
; %bb.20:
Lloh18:
	adrp	x8, _ov511_sif_mode@GOTPAGE
Lloh19:
	ldr	x8, [x8, _ov511_sif_mode@GOTPAGEOFF]
	b	LBB0_34
LBB0_21:
	ldr	w8, [x19, #12]
	cbz	w8, LBB0_23
; %bb.22:
Lloh20:
	adrp	x8, _w9968cf_vga_mode@GOTPAGE
Lloh21:
	ldr	x8, [x8, _w9968cf_vga_mode@GOTPAGEOFF]
Lloh22:
	ldr	x0, [x8]
	bl	_ARRAY_SIZE
	sub	x8, x0, #1
	str	x8, [x19, #8]
LBB0_23:
	mov	x0, x19
	bl	_w9968cf_init
	b	LBB0_35
LBB0_24:
	ldr	w8, [x19, #4]
	sub	w9, w8, #140
	cmp	w9, #2
	b.lo	LBB0_30
; %bb.25:
	cmp	w8, #128
	b.eq	LBB0_33
; %bb.26:
	cmp	w8, #139
	b.ne	LBB0_55
; %bb.27:
Lloh23:
	adrp	x8, _ovfx2_ov3610_mode@GOTPAGE
Lloh24:
	ldr	x8, [x8, _ovfx2_ov3610_mode@GOTPAGEOFF]
	b	LBB0_34
LBB0_28:
	ldr	w8, [x19, #12]
	cbz	w8, LBB0_35
LBB0_29:
Lloh25:
	adrp	x8, _ov519_sif_mode@GOTPAGE
Lloh26:
	ldr	x8, [x8, _ov519_sif_mode@GOTPAGEOFF]
	b	LBB0_34
LBB0_30:
Lloh27:
	adrp	x8, _ovfx2_ov2610_mode@GOTPAGE
Lloh28:
	ldr	x8, [x8, _ovfx2_ov2610_mode@GOTPAGEOFF]
	b	LBB0_34
LBB0_31:
Lloh29:
	adrp	x1, l_.str@PAGE
Lloh30:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x19
	bl	_gspca_err
LBB0_32:
Lloh31:
	adrp	x1, l_.str.1@PAGE
Lloh32:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x19
	bl	_gspca_err
Lloh33:
	adrp	x8, _EINVAL@GOTPAGE
Lloh34:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh35:
	ldr	w8, [x8]
	neg	w0, w8
	b	LBB0_54
LBB0_33:
Lloh36:
	adrp	x8, _ovfx2_ov9600_mode@GOTPAGE
Lloh37:
	ldr	x8, [x8, _ovfx2_ov9600_mode@GOTPAGEOFF]
LBB0_34:
	ldr	x0, [x8]
	str	x0, [x19, #16]
	bl	_ARRAY_SIZE
	str	x0, [x19, #8]
LBB0_35:
	ldr	w8, [x19, #4]
LBB0_36:
	sub	w8, w8, #128
	cmp	w8, #13
	b.hi	LBB0_41
; %bb.37:
Lloh38:
	adrp	x9, lJTI0_2@PAGE
Lloh39:
	add	x9, x9, lJTI0_2@PAGEOFF
	adr	x10, LBB0_38
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_38:
Lloh40:
	adrp	x8, _norm_7640@GOTPAGE
Lloh41:
	ldr	x8, [x8, _norm_7640@GOTPAGEOFF]
	b	LBB0_47
LBB0_39:
Lloh42:
	adrp	x8, _norm_7620@GOTPAGE
Lloh43:
	ldr	x8, [x8, _norm_7620@GOTPAGEOFF]
	b	LBB0_47
LBB0_40:
Lloh44:
	adrp	x8, _norm_6x30@GOTPAGE
Lloh45:
	ldr	x8, [x8, _norm_6x30@GOTPAGEOFF]
	b	LBB0_47
LBB0_41:
Lloh46:
	adrp	x8, _norm_7610@GOTPAGE
Lloh47:
	ldr	x8, [x8, _norm_7610@GOTPAGEOFF]
Lloh48:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_i2c_regvals
	mov	x0, x19
	mov	w1, #14
	mov	w2, #0
	mov	w3, #64
	b	LBB0_52
LBB0_42:
Lloh49:
	adrp	x8, _norm_9600@GOTPAGE
Lloh50:
	ldr	x8, [x8, _norm_9600@GOTPAGEOFF]
	b	LBB0_47
LBB0_43:
Lloh51:
	adrp	x8, _norm_8610@GOTPAGE
Lloh52:
	ldr	x8, [x8, _norm_8610@GOTPAGEOFF]
	b	LBB0_47
LBB0_44:
Lloh53:
	adrp	x8, _norm_7670@GOTPAGE
Lloh54:
	ldr	x8, [x8, _norm_7670@GOTPAGEOFF]
	b	LBB0_47
LBB0_45:
Lloh55:
	adrp	x8, _OV7670_R12_COM7@GOTPAGE
Lloh56:
	ldr	x8, [x8, _OV7670_R12_COM7@GOTPAGEOFF]
Lloh57:
	ldr	w1, [x8]
Lloh58:
	adrp	x8, _OV7670_COM7_RESET@GOTPAGE
Lloh59:
	ldr	x8, [x8, _OV7670_COM7_RESET@GOTPAGEOFF]
Lloh60:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_i2c_w
	mov	w0, #14
	bl	_msleep
Lloh61:
	adrp	x8, _OV519_R57_SNAPSHOT@GOTPAGE
Lloh62:
	ldr	x8, [x8, _OV519_R57_SNAPSHOT@GOTPAGEOFF]
Lloh63:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #35
	bl	_reg_w
Lloh64:
	adrp	x8, _init_519_ov7660@GOTPAGE
Lloh65:
	ldr	x8, [x8, _init_519_ov7660@GOTPAGEOFF]
Lloh66:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_regvals
Lloh67:
	adrp	x8, _norm_7660@GOTPAGE
Lloh68:
	ldr	x8, [x8, _norm_7660@GOTPAGEOFF]
Lloh69:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_i2c_regvals
	mov	w8, #1
	str	w8, [x19, #8]
	mov	x0, x19
	bl	_ov519_set_mode
	mov	x0, x19
	bl	_ov519_set_fr
	mov	x0, x19
	bl	_sd_reset_snapshot
	mov	x0, x19
	bl	_ov51x_restart
	mov	x0, x19
	bl	_ov51x_stop
	mov	x0, x19
	mov	w1, #0
	bl	_ov51x_led_control
	b	LBB0_53
LBB0_46:
Lloh70:
	adrp	x8, _norm_6x20@GOTPAGE
Lloh71:
	ldr	x8, [x8, _norm_6x20@GOTPAGEOFF]
LBB0_47:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_i2c_regvals
	b	LBB0_53
LBB0_48:
Lloh72:
	adrp	x8, _norm_3620b@GOTPAGE
Lloh73:
	ldr	x8, [x8, _norm_3620b@GOTPAGEOFF]
	b	LBB0_51
LBB0_49:
Lloh74:
	adrp	x8, _norm_2610ae@GOTPAGE
Lloh75:
	ldr	x8, [x8, _norm_2610ae@GOTPAGEOFF]
Lloh76:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_i2c_regvals
	mov	x0, x19
	mov	w1, #19
	mov	w2, #5
	mov	w3, #5
	b	LBB0_52
LBB0_50:
Lloh77:
	adrp	x8, _norm_2610@GOTPAGE
Lloh78:
	ldr	x8, [x8, _norm_2610@GOTPAGEOFF]
LBB0_51:
	ldr	x20, [x8]
	mov	x0, x20
	bl	_ARRAY_SIZE
	mov	x2, x0
	mov	x0, x19
	mov	x1, x20
	bl	_write_i2c_regvals
	mov	x0, x19
	mov	w1, #19
	mov	w2, #39
	mov	w3, #39
LBB0_52:
	bl	_i2c_w_mask
LBB0_53:
	ldr	w0, [x19]
LBB0_54:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
LBB0_55:
	ldr	w9, [x19, #12]
	cbnz	w9, LBB0_29
	b	LBB0_36
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGot	Lloh51, Lloh52
	.loh AdrpLdrGot	Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGot	Lloh77, Lloh78
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_4-LBB0_2)>>2
	.byte	(LBB0_5-LBB0_2)>>2
	.byte	(LBB0_6-LBB0_2)>>2
	.byte	(LBB0_2-LBB0_2)>>2
	.byte	(LBB0_2-LBB0_2)>>2
	.byte	(LBB0_3-LBB0_2)>>2
	.byte	(LBB0_3-LBB0_2)>>2
lJTI0_1:
	.byte	(LBB0_21-LBB0_17)>>2
	.byte	(LBB0_24-LBB0_17)>>2
	.byte	(LBB0_28-LBB0_17)>>2
	.byte	(LBB0_17-LBB0_17)>>2
	.byte	(LBB0_17-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
lJTI0_2:
	.byte	(LBB0_42-LBB0_38)>>2
	.byte	(LBB0_43-LBB0_38)>>2
	.byte	(LBB0_44-LBB0_38)>>2
	.byte	(LBB0_45-LBB0_38)>>2
	.byte	(LBB0_38-LBB0_38)>>2
	.byte	(LBB0_38-LBB0_38)>>2
	.byte	(LBB0_39-LBB0_38)>>2
	.byte	(LBB0_39-LBB0_38)>>2
	.byte	(LBB0_40-LBB0_38)>>2
	.byte	(LBB0_40-LBB0_38)>>2
	.byte	(LBB0_46-LBB0_38)>>2
	.byte	(LBB0_48-LBB0_38)>>2
	.byte	(LBB0_49-LBB0_38)>>2
	.byte	(LBB0_50-LBB0_38)>>2
                                        ; -- End function
	.comm	_OV7xx0_SID,4,2                 ; @OV7xx0_SID
	.comm	_OV6xx0_SID,4,2                 ; @OV6xx0_SID
	.comm	_OV8xx0_SID,4,2                 ; @OV8xx0_SID
	.comm	_OV_HIRES_SID,4,2               ; @OV_HIRES_SID
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Can't determine sensor slave IDs\n"

	.comm	_ov511_sif_mode,8,3             ; @ov511_sif_mode
	.comm	_ov518_sif_mode,8,3             ; @ov518_sif_mode
	.comm	_ov519_sif_mode,8,3             ; @ov519_sif_mode
	.comm	_ovfx2_ov2610_mode,8,3          ; @ovfx2_ov2610_mode
	.comm	_ovfx2_ov3610_mode,8,3          ; @ovfx2_ov3610_mode
	.comm	_ovfx2_ov9600_mode,8,3          ; @ovfx2_ov9600_mode
	.comm	_w9968cf_vga_mode,8,3           ; @w9968cf_vga_mode
	.comm	_norm_2610,8,3                  ; @norm_2610
	.comm	_norm_2610ae,8,3                ; @norm_2610ae
	.comm	_norm_3620b,8,3                 ; @norm_3620b
	.comm	_norm_6x20,8,3                  ; @norm_6x20
	.comm	_norm_6x30,8,3                  ; @norm_6x30
	.comm	_norm_7610,8,3                  ; @norm_7610
	.comm	_norm_7620,8,3                  ; @norm_7620
	.comm	_norm_7640,8,3                  ; @norm_7640
	.comm	_OV7670_R12_COM7,4,2            ; @OV7670_R12_COM7
	.comm	_OV7670_COM7_RESET,4,2          ; @OV7670_COM7_RESET
	.comm	_OV519_R57_SNAPSHOT,4,2         ; @OV519_R57_SNAPSHOT
	.comm	_init_519_ov7660,8,3            ; @init_519_ov7660
	.comm	_norm_7660,8,3                  ; @norm_7660
	.comm	_norm_7670,8,3                  ; @norm_7670
	.comm	_norm_8610,8,3                  ; @norm_8610
	.comm	_norm_9600,8,3                  ; @norm_9600
l_.str.1:                               ; @.str.1
	.asciz	"OV519 Config failed\n"

	.comm	_EINVAL,4,2                     ; @EINVAL
	.no_dead_strip	_sd_init
.subsections_via_symbols
