	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function DRV_init
LCPI0_0:
	.quad	0x4035547ae147ae14              ## double 21.329999999999998
LCPI0_1:
	.quad	0x408f400000000000              ## double 1000
LCPI0_2:
	.quad	0x3f95d78811b1d92b              ## double 0.021329999999999998
LCPI0_3:
	.quad	0xbf33a92a30553261              ## double -2.9999999999999997E-4
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_DRV_init
	.p2align	4, 0x90
_DRV_init:                              ## @DRV_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
	xorl	%eax, %eax
	callq	_i2c_init
	movq	_DRV_MODE@GOTPCREL(%rip), %r14
	movl	(%r14), %edi
	movl	$7, %esi
	callq	_DRV_write
	movq	_DRV_RATED_VOLT@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_RATED_VOLTAGE@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	divsd	LCPI0_0(%rip), %xmm0
	mulsd	LCPI0_1(%rip), %xmm0
	cvttsd2si	%xmm0, %esi
	callq	_DRV_write
	movq	_DRV_OVERDRIVE_CLAMP_VOLT@GOTPCREL(%rip), %rax
	movq	_V_PEAK@GOTPCREL(%rip), %rcx
	movq	_DRIVE_TIME@GOTPCREL(%rip), %rdx
	movsd	(%rdx), %xmm0                   ## xmm0 = mem[0],zero
	movq	_BLANKING_TIME@GOTPCREL(%rip), %rdx
	movsd	(%rdx), %xmm1                   ## xmm1 = mem[0],zero
	addsd	%xmm0, %xmm1
	movq	_IDISS_TIME@GOTPCREL(%rip), %rdx
	addsd	(%rdx), %xmm1
	mulsd	(%rcx), %xmm1
	divsd	LCPI0_2(%rip), %xmm1
	addsd	LCPI0_3(%rip), %xmm0
	movl	(%rax), %edi
	divsd	%xmm0, %xmm1
	cvttsd2si	%xmm1, %esi
	callq	_DRV_write
	movq	_DRV_FEEDBACK_CTRL@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_DRV_write
	movq	_DRV_CTRL_1@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_DRV_write
	movq	_DRV_CTRL_2@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_DRV_write
	movq	_DRV_CTRL_3@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_DRV_write
	movq	_DRV_CTRL_4@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_DRV_write
	movq	_DRV_LIB_SELECTION@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_LIB_SELECTION@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_DRV_write
	movq	_DRV_GO@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	movl	$1, %esi
	callq	_DRV_write
	movl	(%r14), %edi
	xorl	%esi, %esi
	callq	_DRV_write
	movl	(%rbx), %edi
	xorl	%esi, %esi
	callq	_DRV_write
	movq	_DRV_WAVEFORM_SEQ_1@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_DRV_GREETING@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_DRV_write
	movl	(%rbx), %edi
	movl	$1, %esi
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_DRV_write                      ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_DRV_MODE,4,2                   ## @DRV_MODE
	.comm	_DRV_RATED_VOLT,4,2             ## @DRV_RATED_VOLT
	.comm	_RATED_VOLTAGE,8,3              ## @RATED_VOLTAGE
	.comm	_DRV_OVERDRIVE_CLAMP_VOLT,4,2   ## @DRV_OVERDRIVE_CLAMP_VOLT
	.comm	_V_PEAK,8,3                     ## @V_PEAK
	.comm	_DRIVE_TIME,8,3                 ## @DRIVE_TIME
	.comm	_BLANKING_TIME,8,3              ## @BLANKING_TIME
	.comm	_IDISS_TIME,8,3                 ## @IDISS_TIME
	.comm	_FB_ERM_LRA,4,2                 ## @FB_ERM_LRA
	.comm	_FB_BRAKEFACTOR,4,2             ## @FB_BRAKEFACTOR
	.comm	_FB_LOOPGAIN,4,2                ## @FB_LOOPGAIN
	.comm	_DRV_FEEDBACK_CTRL,4,2          ## @DRV_FEEDBACK_CTRL
	.comm	_AC_COUPLE,4,2                  ## @AC_COUPLE
	.comm	_STARTUP_BOOST,4,2              ## @STARTUP_BOOST
	.comm	_DRV_CTRL_1,4,2                 ## @DRV_CTRL_1
	.comm	_BIDIR_INPUT,4,2                ## @BIDIR_INPUT
	.comm	_BRAKE_STAB,4,2                 ## @BRAKE_STAB
	.comm	_SAMPLE_TIME,4,2                ## @SAMPLE_TIME
	.comm	_DRV_CTRL_2,4,2                 ## @DRV_CTRL_2
	.comm	_LRA_OPEN_LOOP,4,2              ## @LRA_OPEN_LOOP
	.comm	_N_PWM_ANALOG,4,2               ## @N_PWM_ANALOG
	.comm	_LRA_DRIVE_MODE,4,2             ## @LRA_DRIVE_MODE
	.comm	_DATA_FORMAT_RTO,4,2            ## @DATA_FORMAT_RTO
	.comm	_SUPPLY_COMP_DIS,4,2            ## @SUPPLY_COMP_DIS
	.comm	_ERM_OPEN_LOOP,4,2              ## @ERM_OPEN_LOOP
	.comm	_NG_THRESH,4,2                  ## @NG_THRESH
	.comm	_DRV_CTRL_3,4,2                 ## @DRV_CTRL_3
	.comm	_ZC_DET_TIME,4,2                ## @ZC_DET_TIME
	.comm	_AUTO_CAL_TIME,4,2              ## @AUTO_CAL_TIME
	.comm	_DRV_CTRL_4,4,2                 ## @DRV_CTRL_4
	.comm	_DRV_LIB_SELECTION,4,2          ## @DRV_LIB_SELECTION
	.comm	_LIB_SELECTION,4,2              ## @LIB_SELECTION
	.comm	_DRV_GO,4,2                     ## @DRV_GO
	.comm	_DRV_WAVEFORM_SEQ_1,4,2         ## @DRV_WAVEFORM_SEQ_1
	.comm	_DRV_GREETING,4,2               ## @DRV_GREETING
	.comm	_F_LRA,4,2                      ## @F_LRA
	.comm	_V_RMS,8,3                      ## @V_RMS
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_DRV_init                       ; -- Begin function DRV_init
	.p2align	2
_DRV_init:                              ; @DRV_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
	bl	_i2c_init
Lloh0:
	adrp	x19, _DRV_MODE@GOTPAGE
Lloh1:
	ldr	x19, [x19, _DRV_MODE@GOTPAGEOFF]
	ldr	w0, [x19]
	mov	w1, #7
	bl	_DRV_write
Lloh2:
	adrp	x8, _DRV_RATED_VOLT@GOTPAGE
Lloh3:
	ldr	x8, [x8, _DRV_RATED_VOLT@GOTPAGEOFF]
Lloh4:
	ldr	w0, [x8]
Lloh5:
	adrp	x8, _RATED_VOLTAGE@GOTPAGE
Lloh6:
	ldr	x8, [x8, _RATED_VOLTAGE@GOTPAGEOFF]
Lloh7:
	ldr	d0, [x8]
	mov	x8, #44564
	movk	x8, #57671, lsl #16
	movk	x8, #21626, lsl #32
	movk	x8, #16437, lsl #48
	fmov	d1, x8
	fdiv	d0, d0, d1
	mov	x8, #70368744177664
	movk	x8, #16527, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	fcvtzs	w1, d0
	bl	_DRV_write
Lloh8:
	adrp	x8, _DRV_OVERDRIVE_CLAMP_VOLT@GOTPAGE
Lloh9:
	ldr	x8, [x8, _DRV_OVERDRIVE_CLAMP_VOLT@GOTPAGEOFF]
Lloh10:
	ldr	w0, [x8]
Lloh11:
	adrp	x8, _V_PEAK@GOTPAGE
Lloh12:
	ldr	x8, [x8, _V_PEAK@GOTPAGEOFF]
Lloh13:
	ldr	d0, [x8]
Lloh14:
	adrp	x8, _DRIVE_TIME@GOTPAGE
Lloh15:
	ldr	x8, [x8, _DRIVE_TIME@GOTPAGEOFF]
Lloh16:
	ldr	d1, [x8]
Lloh17:
	adrp	x8, _BLANKING_TIME@GOTPAGE
Lloh18:
	ldr	x8, [x8, _BLANKING_TIME@GOTPAGEOFF]
Lloh19:
	ldr	d2, [x8]
	fadd	d2, d1, d2
Lloh20:
	adrp	x8, _IDISS_TIME@GOTPAGE
Lloh21:
	ldr	x8, [x8, _IDISS_TIME@GOTPAGEOFF]
Lloh22:
	ldr	d3, [x8]
	fadd	d2, d2, d3
	fmul	d0, d0, d2
	mov	x8, #55595
	movk	x8, #4529, lsl #16
	movk	x8, #55176, lsl #32
	movk	x8, #16277, lsl #48
	fmov	d2, x8
	fdiv	d0, d0, d2
	mov	x8, #12897
	movk	x8, #12373, lsl #16
	movk	x8, #43306, lsl #32
	movk	x8, #48947, lsl #48
	fmov	d2, x8
	fadd	d1, d1, d2
	fdiv	d0, d0, d1
	fcvtzs	w1, d0
	bl	_DRV_write
Lloh23:
	adrp	x8, _DRV_FEEDBACK_CTRL@GOTPAGE
Lloh24:
	ldr	x8, [x8, _DRV_FEEDBACK_CTRL@GOTPAGEOFF]
Lloh25:
	ldr	w0, [x8]
	bl	_DRV_write
Lloh26:
	adrp	x8, _DRV_CTRL_1@GOTPAGE
Lloh27:
	ldr	x8, [x8, _DRV_CTRL_1@GOTPAGEOFF]
Lloh28:
	ldr	w0, [x8]
	bl	_DRV_write
Lloh29:
	adrp	x8, _DRV_CTRL_2@GOTPAGE
Lloh30:
	ldr	x8, [x8, _DRV_CTRL_2@GOTPAGEOFF]
Lloh31:
	ldr	w0, [x8]
	bl	_DRV_write
Lloh32:
	adrp	x8, _DRV_CTRL_3@GOTPAGE
Lloh33:
	ldr	x8, [x8, _DRV_CTRL_3@GOTPAGEOFF]
Lloh34:
	ldr	w0, [x8]
	bl	_DRV_write
Lloh35:
	adrp	x8, _DRV_CTRL_4@GOTPAGE
Lloh36:
	ldr	x8, [x8, _DRV_CTRL_4@GOTPAGEOFF]
Lloh37:
	ldr	w0, [x8]
	bl	_DRV_write
Lloh38:
	adrp	x8, _DRV_LIB_SELECTION@GOTPAGE
Lloh39:
	ldr	x8, [x8, _DRV_LIB_SELECTION@GOTPAGEOFF]
Lloh40:
	ldr	w0, [x8]
Lloh41:
	adrp	x8, _LIB_SELECTION@GOTPAGE
Lloh42:
	ldr	x8, [x8, _LIB_SELECTION@GOTPAGEOFF]
Lloh43:
	ldr	w1, [x8]
	bl	_DRV_write
Lloh44:
	adrp	x20, _DRV_GO@GOTPAGE
Lloh45:
	ldr	x20, [x20, _DRV_GO@GOTPAGEOFF]
	ldr	w0, [x20]
	mov	w1, #1
	bl	_DRV_write
	ldr	w0, [x19]
	mov	w1, #0
	bl	_DRV_write
	ldr	w0, [x20]
	mov	w1, #0
	bl	_DRV_write
Lloh46:
	adrp	x8, _DRV_WAVEFORM_SEQ_1@GOTPAGE
Lloh47:
	ldr	x8, [x8, _DRV_WAVEFORM_SEQ_1@GOTPAGEOFF]
Lloh48:
	ldr	w0, [x8]
Lloh49:
	adrp	x8, _DRV_GREETING@GOTPAGE
Lloh50:
	ldr	x8, [x8, _DRV_GREETING@GOTPAGEOFF]
Lloh51:
	ldr	w1, [x8]
	bl	_DRV_write
	ldr	w0, [x20]
	mov	w1, #1
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_DRV_write
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_DRV_MODE,4,2                   ; @DRV_MODE
	.comm	_DRV_RATED_VOLT,4,2             ; @DRV_RATED_VOLT
	.comm	_RATED_VOLTAGE,8,3              ; @RATED_VOLTAGE
	.comm	_DRV_OVERDRIVE_CLAMP_VOLT,4,2   ; @DRV_OVERDRIVE_CLAMP_VOLT
	.comm	_V_PEAK,8,3                     ; @V_PEAK
	.comm	_DRIVE_TIME,8,3                 ; @DRIVE_TIME
	.comm	_BLANKING_TIME,8,3              ; @BLANKING_TIME
	.comm	_IDISS_TIME,8,3                 ; @IDISS_TIME
	.comm	_FB_ERM_LRA,4,2                 ; @FB_ERM_LRA
	.comm	_FB_BRAKEFACTOR,4,2             ; @FB_BRAKEFACTOR
	.comm	_FB_LOOPGAIN,4,2                ; @FB_LOOPGAIN
	.comm	_DRV_FEEDBACK_CTRL,4,2          ; @DRV_FEEDBACK_CTRL
	.comm	_AC_COUPLE,4,2                  ; @AC_COUPLE
	.comm	_STARTUP_BOOST,4,2              ; @STARTUP_BOOST
	.comm	_DRV_CTRL_1,4,2                 ; @DRV_CTRL_1
	.comm	_BIDIR_INPUT,4,2                ; @BIDIR_INPUT
	.comm	_BRAKE_STAB,4,2                 ; @BRAKE_STAB
	.comm	_SAMPLE_TIME,4,2                ; @SAMPLE_TIME
	.comm	_DRV_CTRL_2,4,2                 ; @DRV_CTRL_2
	.comm	_LRA_OPEN_LOOP,4,2              ; @LRA_OPEN_LOOP
	.comm	_N_PWM_ANALOG,4,2               ; @N_PWM_ANALOG
	.comm	_LRA_DRIVE_MODE,4,2             ; @LRA_DRIVE_MODE
	.comm	_DATA_FORMAT_RTO,4,2            ; @DATA_FORMAT_RTO
	.comm	_SUPPLY_COMP_DIS,4,2            ; @SUPPLY_COMP_DIS
	.comm	_ERM_OPEN_LOOP,4,2              ; @ERM_OPEN_LOOP
	.comm	_NG_THRESH,4,2                  ; @NG_THRESH
	.comm	_DRV_CTRL_3,4,2                 ; @DRV_CTRL_3
	.comm	_ZC_DET_TIME,4,2                ; @ZC_DET_TIME
	.comm	_AUTO_CAL_TIME,4,2              ; @AUTO_CAL_TIME
	.comm	_DRV_CTRL_4,4,2                 ; @DRV_CTRL_4
	.comm	_DRV_LIB_SELECTION,4,2          ; @DRV_LIB_SELECTION
	.comm	_LIB_SELECTION,4,2              ; @LIB_SELECTION
	.comm	_DRV_GO,4,2                     ; @DRV_GO
	.comm	_DRV_WAVEFORM_SEQ_1,4,2         ; @DRV_WAVEFORM_SEQ_1
	.comm	_DRV_GREETING,4,2               ; @DRV_GREETING
	.comm	_F_LRA,4,2                      ; @F_LRA
	.comm	_V_RMS,8,3                      ; @V_RMS
.subsections_via_symbols
