	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function sun8i_hdmi_phy_config_a83t
_sun8i_hdmi_phy_config_a83t:            ## @sun8i_hdmi_phy_config_a83t
	.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
	movl	%edx, %r12d
	movq	%rdi, %rbx
	movl	(%rsi), %edi
	movq	_SUN8I_HDMI_PHY_REXT_CTRL_REG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movl	%ecx, %edx
	callq	_regmap_update_bits
	xorl	%r15d, %r15d
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_dw_hdmi_phy_gen2_txpwron
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_dw_hdmi_phy_gen2_pddq
	movq	%rbx, %rdi
	callq	_dw_hdmi_phy_reset
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_dw_hdmi_phy_gen2_pddq
	movq	_I2C_ADDR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_dw_hdmi_phy_i2c_set_addr
	movl	$7, %r13d
	cmpl	$27000001, %r12d                ## imm = 0x19BFCC1
	jae	LBB0_2
## %bb.1:
	movl	$32777, -44(%rbp)               ## 4-byte Folded Spill
                                        ## imm = 0x8009
	movl	$792, %r12d                     ## imm = 0x318
	movl	$2266, %r14d                    ## imm = 0x8DA
	movl	$480, %esi                      ## imm = 0x1E0
	jmp	LBB0_5
LBB0_2:
	cmpl	$74250001, %r12d                ## imm = 0x46CF711
	jae	LBB0_4
## %bb.3:
	movl	$32777, -44(%rbp)               ## 4-byte Folded Spill
                                        ## imm = 0x8009
	movl	$693, %r12d                     ## imm = 0x2B5
	xorl	%r14d, %r14d
	movl	$5, %r15d
	movl	$1344, %esi                     ## imm = 0x540
	jmp	LBB0_5
LBB0_4:
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	cmpl	$148500001, %r12d               ## imm = 0x8D9EE21
	setae	%al
	movl	$1184, %esi                     ## imm = 0x4A0
	cmovael	%r14d, %esi
	leal	10(%rax,%rax,4), %r15d
	movl	$33, %r12d
	cmovael	%r14d, %r12d
	addl	%eax, %eax
	addl	$32809, %eax                    ## imm = 0x8029
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movl	$2, %r13d
LBB0_5:
	movq	%rbx, %rdi
	movl	$6, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	%r15d, %esi
	movl	$21, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	%r14d, %esi
	movl	$16, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	%r13d, %esi
	movl	$25, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	%r12d, %esi
	movl	$14, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	-44(%rbp), %esi                 ## 4-byte Reload
	movl	$9, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$30, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$19, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movl	$23, %edx
	callq	_dw_hdmi_phy_i2c_write
	movq	%rbx, %rdi
	movl	$1, %esi
	callq	_dw_hdmi_phy_gen2_txpwron
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_SUN8I_HDMI_PHY_REXT_CTRL_REG,4,2 ## @SUN8I_HDMI_PHY_REXT_CTRL_REG
	.comm	_SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN,4,2 ## @SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN
	.comm	_I2C_ADDR,4,2                   ## @I2C_ADDR
	.no_dead_strip	_sun8i_hdmi_phy_config_a83t
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function sun8i_hdmi_phy_config_a83t
_sun8i_hdmi_phy_config_a83t:            ; @sun8i_hdmi_phy_config_a83t
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	mov	x20, x2
	mov	x19, x0
	ldr	w0, [x1]
Lloh0:
	adrp	x8, _SUN8I_HDMI_PHY_REXT_CTRL_REG@GOTPAGE
Lloh1:
	ldr	x8, [x8, _SUN8I_HDMI_PHY_REXT_CTRL_REG@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
Lloh3:
	adrp	x8, _SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN@GOTPAGE
Lloh4:
	ldr	x8, [x8, _SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
	mov	x3, x2
	bl	_regmap_update_bits
	mov	x0, x19
	mov	w1, #0
	bl	_dw_hdmi_phy_gen2_txpwron
	mov	x0, x19
	mov	w1, #1
	bl	_dw_hdmi_phy_gen2_pddq
	mov	x0, x19
	bl	_dw_hdmi_phy_reset
	mov	x0, x19
	mov	w1, #0
	bl	_dw_hdmi_phy_gen2_pddq
Lloh6:
	adrp	x8, _I2C_ADDR@GOTPAGE
Lloh7:
	ldr	x8, [x8, _I2C_ADDR@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_dw_hdmi_phy_i2c_set_addr
	mov	w8, #64705
	movk	w8, #411, lsl #16
	cmp	w20, w8
	b.hs	LBB0_2
; %bb.1:
	mov	w23, #0
	mov	w20, #32777
	mov	w21, #792
	mov	w22, #7
	mov	w24, #2266
	mov	w1, #480
	b	LBB0_3
LBB0_2:
	mov	w8, #32777
	mov	w9, #693
	mov	w10, #7
	mov	w11, #5
	mov	w12, #1344
	mov	w13, #63249
	movk	w13, #1132, lsl #16
	mov	w14, #60961
	movk	w14, #2265, lsl #16
	mov	w15, #1184
	cmp	w20, w14
	csel	w14, w15, wzr, lo
	mov	w15, #15
	mov	w16, #10
	csel	w15, w16, w15, lo
	mov	w16, #33
	csel	w16, w16, wzr, lo
	mov	w17, #32811
	mov	w0, #32809
	csel	w17, w0, w17, lo
	mov	w0, #2
	cmp	w20, w13
	csel	w1, w12, w14, lo
	csel	w23, w11, w15, lo
	csel	w24, wzr, wzr, lo
	csel	w22, w10, w0, lo
	csel	w21, w9, w16, lo
	csel	w20, w8, w17, lo
LBB0_3:
	mov	x0, x19
	mov	w2, #6
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	x1, x23
	mov	w2, #21
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	x1, x24
	mov	w2, #16
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	x1, x22
	mov	w2, #25
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	x1, x21
	mov	w2, #14
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	x1, x20
	mov	w2, #9
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	w1, #0
	mov	w2, #30
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	w1, #0
	mov	w2, #19
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	w1, #0
	mov	w2, #23
	bl	_dw_hdmi_phy_i2c_write
	mov	x0, x19
	mov	w1, #1
	bl	_dw_hdmi_phy_gen2_txpwron
	mov	w0, #0
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_SUN8I_HDMI_PHY_REXT_CTRL_REG,4,2 ; @SUN8I_HDMI_PHY_REXT_CTRL_REG
	.comm	_SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN,4,2 ; @SUN8I_HDMI_PHY_REXT_CTRL_REXT_EN
	.comm	_I2C_ADDR,4,2                   ; @I2C_ADDR
	.no_dead_strip	_sun8i_hdmi_phy_config_a83t
.subsections_via_symbols
