Lines Matching +full:smc +full:- +full:id
1 // SPDX-License-Identifier: GPL-2.0-only
25 {.compatible = "brcm,kona-smc"},
26 {.compatible = "bcm,kona-smc"}, /* deprecated name */
42 return -ENODEV; in bcm_kona_smc_init()
47 return -EINVAL; in bcm_kona_smc_init()
49 /* We assume space for four 32-bit arguments */ in bcm_kona_smc_init()
51 return -EINVAL; in bcm_kona_smc_init()
56 return -EINVAL; in bcm_kona_smc_init()
60 return -ENOMEM; in bcm_kona_smc_init()
71 * Only core 0 can run the secure monitor code. If an "smc" request
75 * Each "smc" request supplies a service id and the address of a
80 * Parameters to the "smc" request are passed in r4-r6 as follows:
81 * r4 service id
85 * Execution of an "smc" request produces two distinct results.
89 * "smc" request completes this value is found in r12; it should
96 * when the "smc" request completes.
118 " smc #0\n" in bcm_kona_do_smc()
128 /* __bcm_kona_smc() should only run on CPU 0, with pre-emption disabled */
138 writel_relaxed(data->arg0, args++); in __bcm_kona_smc()
139 writel_relaxed(data->arg1, args++); in __bcm_kona_smc()
140 writel_relaxed(data->arg2, args++); in __bcm_kona_smc()
141 writel(data->arg3, args); in __bcm_kona_smc()
147 data->result = bcm_kona_do_smc(data->service_id, bcm_smc_buffer_phys); in __bcm_kona_smc()