	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function dsicm_power_on
LCPI0_0:
	.long	150000000                       ## 0x8f0d180
	.long	300000000                       ## 0x11e1a300
	.long	7000000                         ## 0x6acfc0
	.long	10000000                        ## 0x989680
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_dsicm_power_on:                        ## @dsicm_power_on
	.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	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r15
	movq	56(%rdi), %r14
	movaps	LCPI0_0(%rip), %xmm0            ## xmm0 = [150000000,300000000,7000000,10000000]
	movaps	%xmm0, -80(%rbp)
	leaq	48(%rdi), %rax
	movq	%rax, -64(%rbp)
	movq	_OMAP_DSS_DSI_FMT_RGB888@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -56(%rbp)
	movq	_OMAP_DSS_DSI_CMD_MODE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -52(%rbp)
	movq	8(%rdi), %rdi
	testq	%rdi, %rdi
	je	LBB0_3
## %bb.1:
	callq	_regulator_enable
	testl	%eax, %eax
	je	LBB0_3
## %bb.2:
	movl	%eax, %ebx
	movq	24(%r15), %rdi
	leaq	L_.str(%rip), %rsi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_28
LBB0_3:
	movq	16(%r15), %rdi
	testq	%rdi, %rdi
	je	LBB0_6
## %bb.4:
	callq	_regulator_enable
	testl	%eax, %eax
	je	LBB0_6
## %bb.5:
	movl	%eax, %ebx
	movq	24(%r15), %rdi
	leaq	L_.str.1(%rip), %rsi
	movl	%eax, %edx
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_26
LBB0_6:
	cmpq	$0, 40(%r15)
	jle	LBB0_10
## %bb.7:
	leaq	40(%r15), %rsi
	movq	(%r14), %rax
	movq	%r14, %rdi
	callq	*(%rax)
	testl	%eax, %eax
	je	LBB0_10
## %bb.8:
	movl	%eax, %ebx
	movq	24(%r15), %rdi
	leaq	L_.str.2(%rip), %rsi
	jmp	LBB0_9
LBB0_10:
	movq	(%r14), %rax
	leaq	-80(%rbp), %rsi
	movq	%r14, %rdi
	callq	*8(%rax)
	testl	%eax, %eax
	je	LBB0_12
## %bb.11:
	movl	%eax, %ebx
	movq	24(%r15), %rdi
	leaq	L_.str.3(%rip), %rsi
LBB0_9:
	xorl	%eax, %eax
	callq	_dev_err
	jmp	LBB0_24
LBB0_12:
	movq	(%r14), %rax
	movq	%r14, %rdi
	callq	*40(%rax)
	movq	%r15, %rdi
	callq	_dsicm_hw_reset
	movq	(%r14), %rax
	movl	32(%r15), %esi
	movq	%r14, %rdi
	xorl	%edx, %edx
	callq	*32(%rax)
	movq	%r15, %rdi
	callq	_dsicm_sleep_out
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.13:
	leaq	-36(%rbp), %rsi
	leaq	-32(%rbp), %rdx
	leaq	-28(%rbp), %rcx
	movq	%r15, %rdi
	callq	_dsicm_get_id
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.14:
	movq	_DCS_BRIGHTNESS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	movl	$255, %edx
	callq	_dsicm_dcs_write_1
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.15:
	movq	_DCS_CTRL_DISPLAY@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	movl	$36, %edx
	callq	_dsicm_dcs_write_1
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.16:
	movq	_MIPI_DCS_SET_PIXEL_FORMAT@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_MIPI_DCS_PIXEL_FMT_24BIT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r15, %rdi
	callq	_dsicm_dcs_write_1
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.17:
	movq	_MIPI_DCS_SET_DISPLAY_ON@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	callq	_dsicm_dcs_write_0
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.18:
	movl	36(%r15), %esi
	movq	%r15, %rdi
	callq	__dsicm_enable_te
	movl	%eax, %ebx
	testl	%eax, %eax
	jne	LBB0_23
## %bb.19:
	movq	(%r14), %rax
	movl	32(%r15), %esi
	movq	%r14, %rdi
	callq	*16(%rax)
	movl	%eax, %ebx
	testl	%eax, %eax
	je	LBB0_20
LBB0_23:
	movq	24(%r15), %rdi
	leaq	L_.str.5(%rip), %rsi
	xorl	%eax, %eax
	callq	_dev_err
	movq	%r15, %rdi
	callq	_dsicm_hw_reset
	movq	(%r14), %rax
	movq	%r14, %rdi
	movl	$1, %esi
	xorl	%edx, %edx
	callq	*24(%rax)
LBB0_24:
	movq	16(%r15), %rdi
	testq	%rdi, %rdi
	je	LBB0_26
## %bb.25:
	callq	_regulator_disable
LBB0_26:
	movq	8(%r15), %rdi
	testq	%rdi, %rdi
	je	LBB0_28
## %bb.27:
	callq	_regulator_disable
LBB0_28:
	movl	%ebx, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_20:
	movl	$1, (%r15)
	cmpl	$0, 4(%r15)
	jne	LBB0_22
## %bb.21:
	movq	24(%r15), %rdi
	movl	-36(%rbp), %edx
	movl	-32(%rbp), %ecx
	movl	-28(%rbp), %r8d
	leaq	L_.str.4(%rip), %rsi
	callq	_dev_info
	movl	$1, 4(%r15)
LBB0_22:
	movq	(%r14), %rax
	movl	32(%r15), %esi
	movq	%r14, %rdi
	movl	$1, %edx
	callq	*32(%rax)
	xorl	%ebx, %ebx
	jmp	LBB0_28
	.cfi_endproc
                                        ## -- End function
	.comm	_OMAP_DSS_DSI_FMT_RGB888,4,2    ## @OMAP_DSS_DSI_FMT_RGB888
	.comm	_OMAP_DSS_DSI_CMD_MODE,4,2      ## @OMAP_DSS_DSI_CMD_MODE
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"failed to enable VPNL: %d\n"

L_.str.1:                               ## @.str.1
	.asciz	"failed to enable VDDI: %d\n"

L_.str.2:                               ## @.str.2
	.asciz	"failed to configure DSI pins\n"

L_.str.3:                               ## @.str.3
	.asciz	"failed to configure DSI\n"

	.comm	_DCS_BRIGHTNESS,4,2             ## @DCS_BRIGHTNESS
	.comm	_DCS_CTRL_DISPLAY,4,2           ## @DCS_CTRL_DISPLAY
	.comm	_MIPI_DCS_SET_PIXEL_FORMAT,4,2  ## @MIPI_DCS_SET_PIXEL_FORMAT
	.comm	_MIPI_DCS_PIXEL_FMT_24BIT,4,2   ## @MIPI_DCS_PIXEL_FMT_24BIT
	.comm	_MIPI_DCS_SET_DISPLAY_ON,4,2    ## @MIPI_DCS_SET_DISPLAY_ON
L_.str.4:                               ## @.str.4
	.asciz	"panel revision %02x.%02x.%02x\n"

L_.str.5:                               ## @.str.5
	.asciz	"error while enabling panel, issuing HW reset\n"

	.no_dead_strip	_dsicm_power_on
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function dsicm_power_on
lCPI0_0:
	.long	150000000                       ; 0x8f0d180
	.long	300000000                       ; 0x11e1a300
	.long	7000000                         ; 0x6acfc0
	.long	10000000                        ; 0x989680
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_dsicm_power_on:                        ; @dsicm_power_on
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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
	mov	x19, x0
	ldr	x20, [x0, #56]
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	q0, [x8, lCPI0_0@PAGEOFF]
	str	q0, [sp, #16]
	add	x8, x0, #48
	str	x8, [sp, #32]
Lloh2:
	adrp	x8, _OMAP_DSS_DSI_FMT_RGB888@GOTPAGE
Lloh3:
	ldr	x8, [x8, _OMAP_DSS_DSI_FMT_RGB888@GOTPAGEOFF]
Lloh4:
	ldr	w8, [x8]
Lloh5:
	adrp	x9, _OMAP_DSS_DSI_CMD_MODE@GOTPAGE
Lloh6:
	ldr	x9, [x9, _OMAP_DSS_DSI_CMD_MODE@GOTPAGEOFF]
Lloh7:
	ldr	w9, [x9]
	stp	w8, w9, [sp, #40]
	ldr	x0, [x0, #8]
	cbz	x0, LBB0_3
; %bb.1:
	bl	_regulator_enable
	cbz	w0, LBB0_3
; %bb.2:
	mov	x21, x0
	ldr	x0, [x19, #24]
	str	x21, [sp]
Lloh8:
	adrp	x1, l_.str@PAGE
Lloh9:
	add	x1, x1, l_.str@PAGEOFF
	bl	_dev_err
	b	LBB0_15
LBB0_3:
	ldr	x0, [x19, #16]
	cbz	x0, LBB0_6
; %bb.4:
	bl	_regulator_enable
	cbz	w0, LBB0_6
; %bb.5:
	mov	x21, x0
	ldr	x0, [x19, #24]
	str	x21, [sp]
Lloh10:
	adrp	x1, l_.str.1@PAGE
Lloh11:
	add	x1, x1, l_.str.1@PAGEOFF
	bl	_dev_err
                                        ; kill: def $w21 killed $w21 killed $x21 def $x21
	b	LBB0_13
LBB0_6:
	mov	x1, x19
	ldr	x8, [x1, #40]!
	cmp	x8, #1
	b.lt	LBB0_9
; %bb.7:
	ldr	x8, [x20]
	ldr	x8, [x8]
	mov	x0, x20
	blr	x8
	cbz	w0, LBB0_9
; %bb.8:
	mov	x21, x0
	ldr	x0, [x19, #24]
Lloh12:
	adrp	x1, l_.str.2@PAGE
Lloh13:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_11
LBB0_9:
	ldr	x8, [x20]
	ldr	x8, [x8, #8]
	add	x1, sp, #16
	mov	x0, x20
	blr	x8
	cbz	w0, LBB0_16
; %bb.10:
	mov	x21, x0
	ldr	x0, [x19, #24]
Lloh14:
	adrp	x1, l_.str.3@PAGE
Lloh15:
	add	x1, x1, l_.str.3@PAGEOFF
LBB0_11:
	bl	_dev_err
	ldr	x0, [x19, #16]
	cbz	x0, LBB0_13
LBB0_12:
	bl	_regulator_disable
LBB0_13:
	ldr	x0, [x19, #8]
	cbz	x0, LBB0_15
; %bb.14:
	bl	_regulator_disable
LBB0_15:
	mov	x0, x21
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
LBB0_16:
	ldr	x8, [x20]
	ldr	x8, [x8, #40]
	mov	x0, x20
	blr	x8
	mov	x0, x19
	bl	_dsicm_hw_reset
	ldr	x8, [x20]
	ldr	x8, [x8, #32]
	ldr	w1, [x19, #32]
	mov	x0, x20
	mov	w2, #0
	blr	x8
	mov	x0, x19
	bl	_dsicm_sleep_out
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.17:
	sub	x1, x29, #36
	sub	x2, x29, #40
	sub	x3, x29, #44
	mov	x0, x19
	bl	_dsicm_get_id
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.18:
Lloh16:
	adrp	x8, _DCS_BRIGHTNESS@GOTPAGE
Lloh17:
	ldr	x8, [x8, _DCS_BRIGHTNESS@GOTPAGEOFF]
Lloh18:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #255
	bl	_dsicm_dcs_write_1
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.19:
Lloh19:
	adrp	x8, _DCS_CTRL_DISPLAY@GOTPAGE
Lloh20:
	ldr	x8, [x8, _DCS_CTRL_DISPLAY@GOTPAGEOFF]
Lloh21:
	ldr	w1, [x8]
	mov	x0, x19
	mov	w2, #36
	bl	_dsicm_dcs_write_1
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.20:
Lloh22:
	adrp	x8, _MIPI_DCS_SET_PIXEL_FORMAT@GOTPAGE
Lloh23:
	ldr	x8, [x8, _MIPI_DCS_SET_PIXEL_FORMAT@GOTPAGEOFF]
Lloh24:
	ldr	w1, [x8]
Lloh25:
	adrp	x8, _MIPI_DCS_PIXEL_FMT_24BIT@GOTPAGE
Lloh26:
	ldr	x8, [x8, _MIPI_DCS_PIXEL_FMT_24BIT@GOTPAGEOFF]
Lloh27:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_dsicm_dcs_write_1
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.21:
Lloh28:
	adrp	x8, _MIPI_DCS_SET_DISPLAY_ON@GOTPAGE
Lloh29:
	ldr	x8, [x8, _MIPI_DCS_SET_DISPLAY_ON@GOTPAGEOFF]
Lloh30:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_dsicm_dcs_write_0
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.22:
	ldr	w1, [x19, #36]
	mov	x0, x19
	bl	__dsicm_enable_te
	mov	x21, x0
	cbnz	w0, LBB0_24
; %bb.23:
	ldr	x8, [x20]
	ldr	x8, [x8, #16]
	ldr	w1, [x19, #32]
	mov	x0, x20
	blr	x8
	mov	x21, x0
	cbz	w0, LBB0_25
LBB0_24:
	ldr	x0, [x19, #24]
Lloh31:
	adrp	x1, l_.str.5@PAGE
Lloh32:
	add	x1, x1, l_.str.5@PAGEOFF
	bl	_dev_err
	mov	x0, x19
	bl	_dsicm_hw_reset
	ldr	x8, [x20]
	ldr	x8, [x8, #24]
	mov	x0, x20
	mov	w1, #1
	mov	w2, #0
	blr	x8
	ldr	x0, [x19, #16]
	cbnz	x0, LBB0_12
	b	LBB0_13
LBB0_25:
	mov	w21, #1
	str	w21, [x19]
	ldr	w8, [x19, #4]
	cbnz	w8, LBB0_27
; %bb.26:
	ldr	x0, [x19, #24]
	ldp	w3, w2, [x29, #-40]
	ldur	w4, [x29, #-44]
Lloh33:
	adrp	x1, l_.str.4@PAGE
Lloh34:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_dev_info
	str	w21, [x19, #4]
LBB0_27:
	ldr	x8, [x20]
	ldr	x8, [x8, #32]
	ldr	w1, [x19, #32]
	mov	x0, x20
	mov	w2, #1
	blr	x8
	mov	w21, #0
	b	LBB0_15
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdr	Lloh0, Lloh1
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.cfi_endproc
                                        ; -- End function
	.comm	_OMAP_DSS_DSI_FMT_RGB888,4,2    ; @OMAP_DSS_DSI_FMT_RGB888
	.comm	_OMAP_DSS_DSI_CMD_MODE,4,2      ; @OMAP_DSS_DSI_CMD_MODE
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"failed to enable VPNL: %d\n"

l_.str.1:                               ; @.str.1
	.asciz	"failed to enable VDDI: %d\n"

l_.str.2:                               ; @.str.2
	.asciz	"failed to configure DSI pins\n"

l_.str.3:                               ; @.str.3
	.asciz	"failed to configure DSI\n"

	.comm	_DCS_BRIGHTNESS,4,2             ; @DCS_BRIGHTNESS
	.comm	_DCS_CTRL_DISPLAY,4,2           ; @DCS_CTRL_DISPLAY
	.comm	_MIPI_DCS_SET_PIXEL_FORMAT,4,2  ; @MIPI_DCS_SET_PIXEL_FORMAT
	.comm	_MIPI_DCS_PIXEL_FMT_24BIT,4,2   ; @MIPI_DCS_PIXEL_FMT_24BIT
	.comm	_MIPI_DCS_SET_DISPLAY_ON,4,2    ; @MIPI_DCS_SET_DISPLAY_ON
l_.str.4:                               ; @.str.4
	.asciz	"panel revision %02x.%02x.%02x\n"

l_.str.5:                               ; @.str.5
	.asciz	"error while enabling panel, issuing HW reset\n"

	.no_dead_strip	_dsicm_power_on
.subsections_via_symbols
