	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function start_fastcharge
_start_fastcharge:                      ## @start_fastcharge
	.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	8(%rdi), %edi
	leaq	L_.str(%rip), %rsi
	callq	_dev_dbg
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL1@GOTPCREL(%rip), %r14
	movq	_CC1_MODE_OFF@GOTPCREL(%rip), %rax
	movq	_CC1_ITERM_60MA@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	orl	(%rax), %edx
	movl	(%r14), %esi
	movq	_CC1_VFCHG_4_2V@GOTPCREL(%rip), %rax
	orl	(%rax), %edx
	callq	_pm860x_reg_write
	testl	%eax, %eax
	js	LBB0_8
## %bb.1:
	movl	4(%rbx), %edi
	movq	_PM8606_PREREGULATORA@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_PREREG1_540MA@GOTPCREL(%rip), %rax
	movq	_PREREG1_VSYS_4_5V@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	orl	(%rax), %edx
	callq	_pm860x_reg_write
	testl	%eax, %eax
	js	LBB0_8
## %bb.2:
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL2@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_CC2_ICHG_500MA@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	$31, %edx
	callq	_pm860x_set_bits
	testl	%eax, %eax
	js	LBB0_8
## %bb.3:
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL3@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_CC3_270MIN_TIMEOUT@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	$240, %edx
	callq	_pm860x_set_bits
	testl	%eax, %eax
	js	LBB0_8
## %bb.4:
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL4@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_CC4_IFCHG_MON_EN@GOTPCREL(%rip), %rax
	movq	_CC4_BTEMP_MON_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movl	%ecx, %edx
	callq	_pm860x_set_bits
	testl	%eax, %eax
	js	LBB0_8
## %bb.5:
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL6@GOTPCREL(%rip), %rax
	movq	_CC6_BAT_OV_EN@GOTPCREL(%rip), %rdx
	movq	_CC6_BAT_UV_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rdx), %ecx
	movl	(%rax), %esi
	movq	_CC6_UV_VBAT_SET@GOTPCREL(%rip), %rax
	orl	(%rax), %ecx
	movl	%ecx, %edx
	callq	_pm860x_set_bits
	testl	%eax, %eax
	js	LBB0_8
## %bb.6:
	movl	(%rbx), %edi
	movq	_PM8607_CHG_CTRL7@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_CC7_BAT_REM_EN@GOTPCREL(%rip), %rax
	movq	_CC7_IFSM_EN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	movl	%ecx, %edx
	callq	_pm860x_set_bits
	testl	%eax, %eax
	js	LBB0_8
## %bb.7:
	movl	(%rbx), %edi
	movl	(%r14), %esi
	movq	_CC1_MODE_FASTCHARGE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	$3, %edx
	callq	_pm860x_set_bits
	movl	%eax, %r14d
	movq	_VCHG_NORMAL_LOW@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_VCHG_NORMAL_HIGH@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_set_vchg_threshold
	movl	%r14d, %eax
LBB0_8:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Start Fast-charging!\n"

	.comm	_PM8607_CHG_CTRL1,4,2           ## @PM8607_CHG_CTRL1
	.comm	_CC1_MODE_OFF,4,2               ## @CC1_MODE_OFF
	.comm	_CC1_ITERM_60MA,4,2             ## @CC1_ITERM_60MA
	.comm	_CC1_VFCHG_4_2V,4,2             ## @CC1_VFCHG_4_2V
	.comm	_PM8606_PREREGULATORA,4,2       ## @PM8606_PREREGULATORA
	.comm	_PREREG1_540MA,4,2              ## @PREREG1_540MA
	.comm	_PREREG1_VSYS_4_5V,4,2          ## @PREREG1_VSYS_4_5V
	.comm	_PM8607_CHG_CTRL2,4,2           ## @PM8607_CHG_CTRL2
	.comm	_CC2_ICHG_500MA,4,2             ## @CC2_ICHG_500MA
	.comm	_PM8607_CHG_CTRL3,4,2           ## @PM8607_CHG_CTRL3
	.comm	_CC3_270MIN_TIMEOUT,4,2         ## @CC3_270MIN_TIMEOUT
	.comm	_PM8607_CHG_CTRL4,4,2           ## @PM8607_CHG_CTRL4
	.comm	_CC4_IFCHG_MON_EN,4,2           ## @CC4_IFCHG_MON_EN
	.comm	_CC4_BTEMP_MON_EN,4,2           ## @CC4_BTEMP_MON_EN
	.comm	_PM8607_CHG_CTRL6,4,2           ## @PM8607_CHG_CTRL6
	.comm	_CC6_BAT_OV_EN,4,2              ## @CC6_BAT_OV_EN
	.comm	_CC6_BAT_UV_EN,4,2              ## @CC6_BAT_UV_EN
	.comm	_CC6_UV_VBAT_SET,4,2            ## @CC6_UV_VBAT_SET
	.comm	_PM8607_CHG_CTRL7,4,2           ## @PM8607_CHG_CTRL7
	.comm	_CC7_BAT_REM_EN,4,2             ## @CC7_BAT_REM_EN
	.comm	_CC7_IFSM_EN,4,2                ## @CC7_IFSM_EN
	.comm	_CC1_MODE_FASTCHARGE,4,2        ## @CC1_MODE_FASTCHARGE
	.comm	_VCHG_NORMAL_LOW,4,2            ## @VCHG_NORMAL_LOW
	.comm	_VCHG_NORMAL_HIGH,4,2           ## @VCHG_NORMAL_HIGH
	.no_dead_strip	_start_fastcharge
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function start_fastcharge
_start_fastcharge:                      ; @start_fastcharge
	.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	w0, [x0, #8]
Lloh0:
	adrp	x1, l_.str@PAGE
Lloh1:
	add	x1, x1, l_.str@PAGEOFF
	bl	_dev_dbg
	ldr	w0, [x19]
Lloh2:
	adrp	x20, _PM8607_CHG_CTRL1@GOTPAGE
Lloh3:
	ldr	x20, [x20, _PM8607_CHG_CTRL1@GOTPAGEOFF]
	ldr	w1, [x20]
Lloh4:
	adrp	x8, _CC1_MODE_OFF@GOTPAGE
Lloh5:
	ldr	x8, [x8, _CC1_MODE_OFF@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
Lloh7:
	adrp	x9, _CC1_ITERM_60MA@GOTPAGE
Lloh8:
	ldr	x9, [x9, _CC1_ITERM_60MA@GOTPAGEOFF]
Lloh9:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh10:
	adrp	x9, _CC1_VFCHG_4_2V@GOTPAGE
Lloh11:
	ldr	x9, [x9, _CC1_VFCHG_4_2V@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	orr	w2, w8, w9
	bl	_pm860x_reg_write
	tbnz	w0, #31, LBB0_8
; %bb.1:
	ldr	w0, [x19, #4]
Lloh13:
	adrp	x8, _PM8606_PREREGULATORA@GOTPAGE
Lloh14:
	ldr	x8, [x8, _PM8606_PREREGULATORA@GOTPAGEOFF]
Lloh15:
	adrp	x9, _PREREG1_540MA@GOTPAGE
Lloh16:
	ldr	x9, [x9, _PREREG1_540MA@GOTPAGEOFF]
Lloh17:
	ldr	w1, [x8]
Lloh18:
	ldr	w8, [x9]
Lloh19:
	adrp	x9, _PREREG1_VSYS_4_5V@GOTPAGE
Lloh20:
	ldr	x9, [x9, _PREREG1_VSYS_4_5V@GOTPAGEOFF]
Lloh21:
	ldr	w9, [x9]
	orr	w2, w9, w8
	bl	_pm860x_reg_write
	tbnz	w0, #31, LBB0_8
; %bb.2:
	ldr	w0, [x19]
Lloh22:
	adrp	x8, _PM8607_CHG_CTRL2@GOTPAGE
Lloh23:
	ldr	x8, [x8, _PM8607_CHG_CTRL2@GOTPAGEOFF]
Lloh24:
	ldr	w1, [x8]
Lloh25:
	adrp	x8, _CC2_ICHG_500MA@GOTPAGE
Lloh26:
	ldr	x8, [x8, _CC2_ICHG_500MA@GOTPAGEOFF]
Lloh27:
	ldr	w3, [x8]
	mov	w2, #31
	bl	_pm860x_set_bits
	tbnz	w0, #31, LBB0_8
; %bb.3:
	ldr	w0, [x19]
Lloh28:
	adrp	x8, _PM8607_CHG_CTRL3@GOTPAGE
Lloh29:
	ldr	x8, [x8, _PM8607_CHG_CTRL3@GOTPAGEOFF]
Lloh30:
	ldr	w1, [x8]
Lloh31:
	adrp	x8, _CC3_270MIN_TIMEOUT@GOTPAGE
Lloh32:
	ldr	x8, [x8, _CC3_270MIN_TIMEOUT@GOTPAGEOFF]
Lloh33:
	ldr	w3, [x8]
	mov	w2, #240
	bl	_pm860x_set_bits
	tbnz	w0, #31, LBB0_8
; %bb.4:
	ldr	w0, [x19]
Lloh34:
	adrp	x8, _PM8607_CHG_CTRL4@GOTPAGE
Lloh35:
	ldr	x8, [x8, _PM8607_CHG_CTRL4@GOTPAGEOFF]
Lloh36:
	adrp	x9, _CC4_IFCHG_MON_EN@GOTPAGE
Lloh37:
	ldr	x9, [x9, _CC4_IFCHG_MON_EN@GOTPAGEOFF]
Lloh38:
	ldr	w1, [x8]
Lloh39:
	ldr	w8, [x9]
Lloh40:
	adrp	x9, _CC4_BTEMP_MON_EN@GOTPAGE
Lloh41:
	ldr	x9, [x9, _CC4_BTEMP_MON_EN@GOTPAGEOFF]
Lloh42:
	ldr	w9, [x9]
	orr	w2, w9, w8
	mov	x3, x2
	bl	_pm860x_set_bits
	tbnz	w0, #31, LBB0_8
; %bb.5:
	ldr	w0, [x19]
Lloh43:
	adrp	x8, _PM8607_CHG_CTRL6@GOTPAGE
Lloh44:
	ldr	x8, [x8, _PM8607_CHG_CTRL6@GOTPAGEOFF]
Lloh45:
	ldr	w1, [x8]
Lloh46:
	adrp	x8, _CC6_BAT_OV_EN@GOTPAGE
Lloh47:
	ldr	x8, [x8, _CC6_BAT_OV_EN@GOTPAGEOFF]
Lloh48:
	ldr	w8, [x8]
Lloh49:
	adrp	x9, _CC6_BAT_UV_EN@GOTPAGE
Lloh50:
	ldr	x9, [x9, _CC6_BAT_UV_EN@GOTPAGEOFF]
Lloh51:
	ldr	w9, [x9]
	orr	w8, w9, w8
Lloh52:
	adrp	x9, _CC6_UV_VBAT_SET@GOTPAGE
Lloh53:
	ldr	x9, [x9, _CC6_UV_VBAT_SET@GOTPAGEOFF]
Lloh54:
	ldr	w9, [x9]
	orr	w2, w8, w9
	mov	x3, x2
	bl	_pm860x_set_bits
	tbnz	w0, #31, LBB0_8
; %bb.6:
	ldr	w0, [x19]
Lloh55:
	adrp	x8, _PM8607_CHG_CTRL7@GOTPAGE
Lloh56:
	ldr	x8, [x8, _PM8607_CHG_CTRL7@GOTPAGEOFF]
Lloh57:
	adrp	x9, _CC7_BAT_REM_EN@GOTPAGE
Lloh58:
	ldr	x9, [x9, _CC7_BAT_REM_EN@GOTPAGEOFF]
Lloh59:
	ldr	w1, [x8]
Lloh60:
	ldr	w8, [x9]
Lloh61:
	adrp	x9, _CC7_IFSM_EN@GOTPAGE
Lloh62:
	ldr	x9, [x9, _CC7_IFSM_EN@GOTPAGEOFF]
Lloh63:
	ldr	w9, [x9]
	orr	w2, w9, w8
	mov	x3, x2
	bl	_pm860x_set_bits
	tbnz	w0, #31, LBB0_8
; %bb.7:
	ldr	w0, [x19]
	ldr	w1, [x20]
Lloh64:
	adrp	x8, _CC1_MODE_FASTCHARGE@GOTPAGE
Lloh65:
	ldr	x8, [x8, _CC1_MODE_FASTCHARGE@GOTPAGEOFF]
Lloh66:
	ldr	w3, [x8]
	mov	w2, #3
	bl	_pm860x_set_bits
	mov	x20, x0
Lloh67:
	adrp	x8, _VCHG_NORMAL_LOW@GOTPAGE
Lloh68:
	ldr	x8, [x8, _VCHG_NORMAL_LOW@GOTPAGEOFF]
Lloh69:
	ldr	w1, [x8]
Lloh70:
	adrp	x8, _VCHG_NORMAL_HIGH@GOTPAGE
Lloh71:
	ldr	x8, [x8, _VCHG_NORMAL_HIGH@GOTPAGEOFF]
Lloh72:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_set_vchg_threshold
	mov	x0, x20
LBB0_8:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh18
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh17
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh39
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh38
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh59
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Start Fast-charging!\n"

	.comm	_PM8607_CHG_CTRL1,4,2           ; @PM8607_CHG_CTRL1
	.comm	_CC1_MODE_OFF,4,2               ; @CC1_MODE_OFF
	.comm	_CC1_ITERM_60MA,4,2             ; @CC1_ITERM_60MA
	.comm	_CC1_VFCHG_4_2V,4,2             ; @CC1_VFCHG_4_2V
	.comm	_PM8606_PREREGULATORA,4,2       ; @PM8606_PREREGULATORA
	.comm	_PREREG1_540MA,4,2              ; @PREREG1_540MA
	.comm	_PREREG1_VSYS_4_5V,4,2          ; @PREREG1_VSYS_4_5V
	.comm	_PM8607_CHG_CTRL2,4,2           ; @PM8607_CHG_CTRL2
	.comm	_CC2_ICHG_500MA,4,2             ; @CC2_ICHG_500MA
	.comm	_PM8607_CHG_CTRL3,4,2           ; @PM8607_CHG_CTRL3
	.comm	_CC3_270MIN_TIMEOUT,4,2         ; @CC3_270MIN_TIMEOUT
	.comm	_PM8607_CHG_CTRL4,4,2           ; @PM8607_CHG_CTRL4
	.comm	_CC4_IFCHG_MON_EN,4,2           ; @CC4_IFCHG_MON_EN
	.comm	_CC4_BTEMP_MON_EN,4,2           ; @CC4_BTEMP_MON_EN
	.comm	_PM8607_CHG_CTRL6,4,2           ; @PM8607_CHG_CTRL6
	.comm	_CC6_BAT_OV_EN,4,2              ; @CC6_BAT_OV_EN
	.comm	_CC6_BAT_UV_EN,4,2              ; @CC6_BAT_UV_EN
	.comm	_CC6_UV_VBAT_SET,4,2            ; @CC6_UV_VBAT_SET
	.comm	_PM8607_CHG_CTRL7,4,2           ; @PM8607_CHG_CTRL7
	.comm	_CC7_BAT_REM_EN,4,2             ; @CC7_BAT_REM_EN
	.comm	_CC7_IFSM_EN,4,2                ; @CC7_IFSM_EN
	.comm	_CC1_MODE_FASTCHARGE,4,2        ; @CC1_MODE_FASTCHARGE
	.comm	_VCHG_NORMAL_LOW,4,2            ; @VCHG_NORMAL_LOW
	.comm	_VCHG_NORMAL_HIGH,4,2           ; @VCHG_NORMAL_HIGH
	.no_dead_strip	_start_fastcharge
.subsections_via_symbols
