	.file	"extr_pinctrl-dove.c_dove_mpp4_ctrl_set.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	dove_mpp4_ctrl_set, @function
dove_mpp4_ctrl_set:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rdx
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	mov	ebx, esi
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	mov	edi, DWORD PTR mpp4_base[rip]
	call	readl@PLT
	lea	esi, -24[rbx]
	cmp	esi, 38
	ja	.L2
	lea	rcx, .L4[rip]
	movsx	rdx, DWORD PTR [rcx+rsi*4]
	add	rdx, rcx
	notrack jmp	rdx
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L8-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L7-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L6-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L5-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L2-.L4
	.long	.L3-.L4
	.text
	.p2align 4,,10
	.p2align 3
.L2:
	mov	eax, DWORD PTR EINVAL[rip]
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	neg	eax
	ret
	.p2align 4,,10
	.p2align 3
.L8:
	.cfi_restore_state
	mov	rdi, QWORD PTR CAM_GPIO_SEL[rip]
.L9:
	mov	rdx, rdi
	or	rdi, rax
	mov	esi, DWORD PTR mpp4_base[rip]
	not	rdx
	and	rdx, rax
	test	rbp, rbp
	cmove	rdi, rdx
	call	writel@PLT
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L7:
	.cfi_restore_state
	mov	rdi, QWORD PTR SD0_GPIO_SEL[rip]
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L6:
	mov	rdi, QWORD PTR SD1_GPIO_SEL[rip]
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L5:
	mov	rdi, QWORD PTR SPI_GPIO_SEL[rip]
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L3:
	mov	rdi, QWORD PTR UART1_GPIO_SEL[rip]
	jmp	.L9
	.cfi_endproc
.LFE0:
	.size	dove_mpp4_ctrl_set, .-dove_mpp4_ctrl_set
	.comm	mpp4_base,4,4
	.comm	UART1_GPIO_SEL,8,8
	.comm	SPI_GPIO_SEL,8,8
	.comm	SD1_GPIO_SEL,8,8
	.comm	SD0_GPIO_SEL,8,8
	.comm	EINVAL,4,4
	.comm	CAM_GPIO_SEL,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_pinctrl-dove.c_dove_mpp4_ctrl_set.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dove_mpp4_ctrl_set, %function
dove_mpp4_ctrl_set:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	mov	r4, r1
	ldr	r5, .L15
	mov	r6, r2
	ldr	r0, [r5]
	bl	readl
	sub	r1, r4, #24
	cmp	r1, #38
	ldrls	pc, [pc, r1, asl #2]
	b	.L2
.L4:
	.word	.L8
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L7
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L6
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L5
	.word	.L2
	.word	.L2
	.word	.L2
	.word	.L3
.L2:
	ldr	r3, .L15+4
	ldr	r0, [r3]
	rsb	r0, r0, #0
	pop	{r4, r5, r6, pc}
.L8:
	ldr	r3, .L15+8
	ldr	r3, [r3]
.L9:
	cmp	r6, #0
	ldr	r1, [r5]
	biceq	r0, r0, r3
	orrne	r0, r3, r0
	bl	writel
	mov	r0, #0
	pop	{r4, r5, r6, pc}
.L7:
	ldr	r3, .L15+12
	ldr	r3, [r3]
	b	.L9
.L6:
	ldr	r3, .L15+16
	ldr	r3, [r3]
	b	.L9
.L5:
	ldr	r3, .L15+20
	ldr	r3, [r3]
	b	.L9
.L3:
	ldr	r3, .L15+24
	ldr	r3, [r3]
	b	.L9
.L16:
	.align	2
.L15:
	.word	mpp4_base
	.word	EINVAL
	.word	CAM_GPIO_SEL
	.word	SD0_GPIO_SEL
	.word	SD1_GPIO_SEL
	.word	SPI_GPIO_SEL
	.word	UART1_GPIO_SEL
	.size	dove_mpp4_ctrl_set, .-dove_mpp4_ctrl_set
	.comm	mpp4_base,4,4
	.comm	UART1_GPIO_SEL,4,4
	.comm	SPI_GPIO_SEL,4,4
	.comm	SD1_GPIO_SEL,4,4
	.comm	SD0_GPIO_SEL,4,4
	.comm	EINVAL,4,4
	.comm	CAM_GPIO_SEL,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
