root/arch/arm/mach-pxa/mioa701_bootresume.S

/* [<][>][^][v][top][bottom][index][help] */
   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
  19 ENTRY(mioa701_bootstrap)
  20 0:
  21         b       1f
  22 ENTRY(mioa701_jumpaddr)
  23         .word   0x40f00008              @ PSPR in no-MMU mode
  24 1:
  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
  33 2:
  34 
  35 ENTRY(mioa701_bootstrap_lg)
  36         .data
  37         .align  2
  38         .word   2b-0b

/* [<][>][^][v][top][bottom][index][help] */