	.file	"extr_pm.c_pm_enter.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	pm_enter, @function
pm_enter:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	xor	eax, eax
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	push	rbx
	.cfi_def_cfa_offset 40
	.cfi_offset 3, -40
	sub	rsp, 8
	.cfi_def_cfa_offset 48
	call	set_bl_bit@PLT
	xor	eax, eax
	call	sh_wdt_read_csr@PLT
	mov	r8d, eax
	mov	eax, DWORD PTR WTCSR_TME[rip]
	not	eax
	and	eax, r8d
	or	eax, DWORD PTR WTCSR_CKS_4096[rip]
	mov	edi, eax
	call	sh_wdt_write_csr@PLT
	xor	eax, eax
	call	sh_wdt_read_csr@PLT
	xor	edi, edi
	call	sh_wdt_write_cnt@PLT
	mov	edi, DWORD PTR FRQCR[rip]
	call	__raw_readw@PLT
	mov	edi, DWORD PTR FRQCR_PLLEN[rip]
	or	edi, DWORD PTR FRQCR_PSTBY[rip]
	mov	esi, DWORD PTR FRQCR[rip]
	not	edi
	and	edi, eax
	call	__raw_writew@PLT
	mov	edi, DWORD PTR STBCR[rip]
	call	__raw_readb@PLT
	mov	esi, DWORD PTR STBCR[rip]
	mov	edi, DWORD PTR STBCR_STBY[rip]
	or	edi, DWORD PTR STBCR_MSTP2[rip]
	mov	r12d, eax
	or	edi, eax
	call	__raw_writeb@PLT
	mov	edi, DWORD PTR MCR[rip]
	call	__raw_readw@PLT
	mov	edi, DWORD PTR MCR_RFSH[rip]
	mov	esi, DWORD PTR MCR[rip]
	mov	ebx, eax
	not	edi
	and	edi, eax
	call	__raw_writew@PLT
#APP
# 79 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	stc vbr, r13
# 0 "" 2
#NO_APP
	mov	edi, DWORD PTR GFP_ATOMIC[rip]
	call	get_zeroed_page@PLT
	mov	edi, 50
	mov	rbp, rax
	call	udelay@PLT
	lea	rsi, wakeup_start[rip]
	mov	rdi, QWORD PTR INTR_OFFSET[rip]
	lea	rdx, wakeup_end[rip]
	sub	rdx, rsi
	sar	rdx, 2
	add	rdi, rbp
	call	memcpy@PLT
#APP
# 84 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	ldc rbp, vbr
# 0 "" 2
#NO_APP
	mov	esi, DWORD PTR RTCNT[rip]
	xor	edi, edi
	call	__raw_writew@PLT
	mov	esi, DWORD PTR MCR[rip]
	mov	edi, DWORD PTR MCR_RFSH[rip]
	or	edi, DWORD PTR MCR_RMODE[rip]
	or	edi, ebx
	call	__raw_writew@PLT
	xor	eax, eax
	call	cpu_sleep@PLT
#APP
# 91 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	ldc r13, vbr
# 0 "" 2
#NO_APP
	mov	rdi, rbp
	call	free_page@PLT
	mov	edi, DWORD PTR FRQCR[rip]
	call	__raw_readw@PLT
	mov	esi, DWORD PTR FRQCR[rip]
	or	eax, DWORD PTR FRQCR_PSTBY[rip]
	mov	edi, eax
	mov	ebx, eax
	call	__raw_writew@PLT
	mov	edi, 50
	call	udelay@PLT
	or	ebx, DWORD PTR FRQCR_PLLEN[rip]
	mov	esi, DWORD PTR FRQCR[rip]
	mov	edi, ebx
	call	__raw_writew@PLT
	mov	esi, DWORD PTR STBCR[rip]
	mov	edi, r12d
	call	__raw_writeb@PLT
	add	rsp, 8
	.cfi_def_cfa_offset 40
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 32
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	jmp	clear_bl_bit@PLT
	.cfi_endproc
.LFE0:
	.size	pm_enter, .-pm_enter
	.comm	wakeup_start,4,4
	.comm	wakeup_end,4,4
	.comm	WTCSR_TME,4,4
	.comm	WTCSR_CKS_4096,4,4
	.comm	STBCR_STBY,4,4
	.comm	STBCR_MSTP2,4,4
	.comm	STBCR,4,4
	.comm	RTCNT,4,4
	.comm	MCR_RMODE,4,4
	.comm	MCR_RFSH,4,4
	.comm	MCR,4,4
	.comm	INTR_OFFSET,8,8
	.comm	GFP_ATOMIC,4,4
	.comm	FRQCR_PSTBY,4,4
	.comm	FRQCR_PLLEN,4,4
	.comm	FRQCR,4,4
	.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_pm.c_pm_enter.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	pm_enter, %function
pm_enter:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #12
	bl	set_bl_bit
	bl	sh_wdt_read_csr
	ldr	r2, .L4
	ldr	r3, .L4+4
	ldr	r2, [r2]
	ldr	r3, [r3]
	bic	r0, r0, r2
	orr	r0, r0, r3
	ldr	r4, .L4+8
	bl	sh_wdt_write_csr
	bl	sh_wdt_read_csr
	mov	r0, #0
	bl	sh_wdt_write_cnt
	ldr	r0, [r4]
	bl	__raw_readw
	ldr	r10, .L4+12
	ldr	fp, .L4+16
	ldr	r3, [r10]
	ldr	r2, [fp]
	ldr	r8, .L4+20
	orr	r3, r3, r2
	ldr	r1, [r4]
	bic	r0, r0, r3
	bl	__raw_writew
	ldr	r0, [r8]
	bl	__raw_readb
	mov	r6, r0
	ldr	r2, .L4+24
	ldr	r3, .L4+28
	ldr	r0, [r2]
	ldr	r3, [r3]
	ldr	r9, .L4+32
	orr	r0, r0, r3
	ldr	r1, [r8]
	orr	r0, r0, r6
	bl	__raw_writeb
	ldr	r0, [r9]
	bl	__raw_readw
	mov	r7, r0
	ldr	r3, .L4+36
	ldr	r1, [r9]
	ldr	r0, [r3]
	bic	r0, r7, r0
	bl	__raw_writew
	.syntax divided
@ 79 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	stc vbr, r3
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r2, .L4+40
	str	r3, [sp, #4]
	ldr	r0, [r2]
	bl	get_zeroed_page
	mov	r5, r0
	mov	r0, #50
	bl	udelay
	ldr	r0, .L4+44
	ldr	r1, .L4+48
	ldr	r2, .L4+52
	ldr	r0, [r0]
	sub	r2, r2, r1
	add	r0, r5, r0
	asr	r2, r2, #2
	bl	memcpy
	.syntax divided
@ 84 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	ldc r5, vbr
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r2, .L4+56
	mov	r0, #0
	ldr	r1, [r2]
	bl	__raw_writew
	ldr	r2, .L4+60
	ldr	r3, .L4+36
	ldr	r1, [r9]
	ldr	r0, [r3]
	ldr	r3, [r2]
	orr	r0, r0, r3
	orr	r0, r0, r7
	bl	__raw_writew
	bl	cpu_sleep
	ldr	r3, [sp, #4]
	.syntax divided
@ 91 "data/linux/arch/sh/boards/mach-hp6xx/extr_pm.c_pm_enter.c" 1
	ldc r3, vbr
@ 0 "" 2
	.arm
	.syntax unified
	mov	r0, r5
	bl	free_page
	ldr	r0, [r4]
	bl	__raw_readw
	ldr	r5, [fp]
	ldr	r1, [r4]
	orr	r5, r0, r5
	mov	r0, r5
	bl	__raw_writew
	mov	r0, #50
	bl	udelay
	ldr	r0, [r10]
	ldr	r1, [r4]
	orr	r0, r5, r0
	bl	__raw_writew
	mov	r0, r6
	ldr	r1, [r8]
	bl	__raw_writeb
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	clear_bl_bit
.L5:
	.align	2
.L4:
	.word	WTCSR_TME
	.word	WTCSR_CKS_4096
	.word	FRQCR
	.word	FRQCR_PLLEN
	.word	FRQCR_PSTBY
	.word	STBCR
	.word	STBCR_STBY
	.word	STBCR_MSTP2
	.word	MCR
	.word	MCR_RFSH
	.word	GFP_ATOMIC
	.word	INTR_OFFSET
	.word	wakeup_start
	.word	wakeup_end
	.word	RTCNT
	.word	MCR_RMODE
	.size	pm_enter, .-pm_enter
	.comm	wakeup_start,4,4
	.comm	wakeup_end,4,4
	.comm	WTCSR_TME,4,4
	.comm	WTCSR_CKS_4096,4,4
	.comm	STBCR_STBY,4,4
	.comm	STBCR_MSTP2,4,4
	.comm	STBCR,4,4
	.comm	RTCNT,4,4
	.comm	MCR_RMODE,4,4
	.comm	MCR_RFSH,4,4
	.comm	MCR,4,4
	.comm	INTR_OFFSET,4,4
	.comm	GFP_ATOMIC,4,4
	.comm	FRQCR_PSTBY,4,4
	.comm	FRQCR_PLLEN,4,4
	.comm	FRQCR,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
