1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc.
4  * Copyright 2012 Calxeda, Inc.
5  */
6 
7 #include <linux/linkage.h>
8 
9 /*
10  * This is common routine to manage secure monitor API
11  * used to modify the PL310 secure registers.
12  * 'r0' contains the value to be modified and 'r12' contains
13  * the monitor API number.
14  * Function signature : void highbank_smc1(u32 fn, u32 arg)
15  */
16 	.arch armv7-a
17 	.arch_extension sec
18 ENTRY(highbank_smc1)
19 	stmfd   sp!, {r4-r11, lr}
20 	mov	r12, r0
21 	mov 	r0, r1
22 	dsb
23 	smc	#0
24 	ldmfd   sp!, {r4-r11, pc}
25 ENDPROC(highbank_smc1)
26