1d2912cb1SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */ 28e56130dSRob Herring/* 38e56130dSRob Herring * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc. 48e56130dSRob Herring * Copyright 2012 Calxeda, Inc. 58e56130dSRob Herring */ 68e56130dSRob Herring 78e56130dSRob Herring#include <linux/linkage.h> 88e56130dSRob Herring 98e56130dSRob Herring/* 108e56130dSRob Herring * This is common routine to manage secure monitor API 118e56130dSRob Herring * used to modify the PL310 secure registers. 128e56130dSRob Herring * 'r0' contains the value to be modified and 'r12' contains 138e56130dSRob Herring * the monitor API number. 148e56130dSRob Herring * Function signature : void highbank_smc1(u32 fn, u32 arg) 158e56130dSRob Herring */ 16*3fe1ee40SStefan Agner .arch armv7-a 17*3fe1ee40SStefan Agner .arch_extension sec 188e56130dSRob HerringENTRY(highbank_smc1) 198e56130dSRob Herring stmfd sp!, {r4-r11, lr} 208e56130dSRob Herring mov r12, r0 218e56130dSRob Herring mov r0, r1 228e56130dSRob Herring dsb 238e56130dSRob Herring smc #0 248e56130dSRob Herring ldmfd sp!, {r4-r11, pc} 258e56130dSRob HerringENDPROC(highbank_smc1) 26