~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mach-mvebu/pmsu_ll.S

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 /*
  3  * Copyright (C) 2014 Marvell
  4  *
  5  * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  6  * Gregory Clement <gregory.clement@free-electrons.com>
  7  */
  8 
  9 #include <linux/linkage.h>
 10 #include <asm/assembler.h>
 11 
 12 
 13 ENTRY(armada_38x_scu_power_up)
 14         mrc     p15, 4, r1, c15, c0     @ get SCU base address
 15         orr     r1, r1, #0x8            @ SCU CPU Power Status Register
 16         mrc     p15, 0, r0, cr0, cr0, 5 @ get the CPU ID
 17         and     r0, r0, #15
 18         add     r1, r1, r0
 19         mov     r0, #0x0
 20         strb    r0, [r1]                @ switch SCU power state to Normal mode
 21         ret     lr
 22 ENDPROC(armada_38x_scu_power_up)
 23 
 24 /*
 25  * This is the entry point through which CPUs exiting cpuidle deep
 26  * idle state are going.
 27  */
 28 ENTRY(armada_370_xp_cpu_resume)
 29 ARM_BE8(setend  be )                    @ go BE8 if entered LE
 30         /*
 31          * Disable the MMU that might have been enabled in BootROM if
 32          * this code is used in the resume path of a suspend/resume
 33          * cycle.
 34          */
 35         mrc     p15, 0, r1, c1, c0, 0
 36         bic     r1, #1
 37         mcr     p15, 0, r1, c1, c0, 0
 38         bl      ll_add_cpu_to_smp_group
 39         bl      ll_enable_coherency
 40         b       cpu_resume
 41 ENDPROC(armada_370_xp_cpu_resume)
 42 
 43 ENTRY(armada_38x_cpu_resume)
 44         /* do we need it for Armada 38x*/
 45 ARM_BE8(setend  be )                    @ go BE8 if entered LE
 46         bl      v7_invalidate_l1
 47         bl      armada_38x_scu_power_up
 48         b       cpu_resume
 49 ENDPROC(armada_38x_cpu_resume)
 50 
 51 .global mvebu_boot_wa_start
 52 .global mvebu_boot_wa_end
 53 
 54 /* The following code will be executed from SRAM */
 55 ENTRY(mvebu_boot_wa_start)
 56 ARM_BE8(setend  be)
 57         adr     r0, 1f
 58         ldr     r0, [r0]                @ load the address of the
 59                                         @ resume register
 60         ldr     r0, [r0]                @ load the value in the
 61                                         @ resume register
 62 ARM_BE8(rev     r0, r0)                 @ the value is stored LE
 63         mov     pc, r0                  @ jump to this value
 64 /*
 65  * the last word of this piece of code will be filled by the physical
 66  * address of the boot address register just after being copied in SRAM
 67  */
 68 1:
 69         .long   .
 70 mvebu_boot_wa_end:
 71 ENDPROC(mvebu_boot_wa_end)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php