1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* Bootloader to resume MIO A701 3 * 4 * 2007-1-12 Robert Jarzmik 5*/ 6 7#include <linux/linkage.h> 8#include <asm/assembler.h> 9 10/* 11 * Note: Yes, part of the following code is located into the .data section. 12 * This is to allow jumpaddr to be accessed with a relative load 13 * while we can't rely on any MMU translation. We could have put 14 * sleep_save_sp in the .text section as well, but some setups might 15 * insist on it to be truly read-only. 16 */ 17 .data 18 .align 2 19ENTRY(mioa701_bootstrap) 200: 21 b 1f 22ENTRY(mioa701_jumpaddr) 23 .word 0x40f00008 @ PSPR in no-MMU mode 241: 25 mov r0, #0xa0000000 @ Don't suppose memory access works 26 orr r0, r0, #0x00200000 @ even if it's supposed to 27 orr r0, r0, #0x0000b000 28 mov r1, #0 29 str r1, [r0] @ Early disable resume for next boot 30 ldr r0, mioa701_jumpaddr @ (Murphy's Law) 31 ldr r0, [r0] 32 ret r0 332: 34 35ENTRY(mioa701_bootstrap_lg) 36 .data 37 .align 2 38 .word 2b-0b 39