| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/ |
| H A D | Kconfig | 4 bool "Enable multiple CPUs to enter into U-Boot" 10 CPUECTLR_EL1.SMPEN bit before U-Boot. 25 bool "Support spin-table enable method" 28 Say Y here to support "spin-table" enable method for booting Linux. 31 - Specify enable-method = "spin-table" in each CPU node in the 33 - Bring secondary CPUs into U-Boot proper in a board specific 38 U-Boot automatically does: 39 - Set "cpu-release-addr" property of each CPU node 41 - Reserve the code for the spin-table and the release address 44 menu "ARMv8 secure monitor firmware" [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/firmware/intel/ |
| H A D | stratix10-smc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (C) 2017-2018, Intel Corporation 9 #include <linux/arm-smccc.h> 13 * This file defines the Secure Monitor Call (SMC) message protocol used for 14 * service layer driver in normal world (EL1) to communicate with secure 15 * monitor software in Secure Monitor Exception Level 3 (EL3). 17 * This file is shared with secure firmware (FW) which is out of kernel tree. 19 * An ARM SMC instruction takes a function identifier and up to 6 64-bit 20 * register values as arguments, and can return up to 4 64-bit register 21 * value. The operation of the secure monitor is determined by the parameter [all …]
|
| /OK3568_Linux_fs/kernel/drivers/firmware/meson/ |
| H A D | meson_sm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Amlogic Secure Monitor driver 9 #define pr_fmt(fmt) "meson-sm: " fmt 11 #include <linux/arm-smccc.h> 62 const struct meson_sm_cmd *cmd = chip->cmd; in meson_sm_get_cmd() 64 while (cmd->smc_id && cmd->index != cmd_index) in meson_sm_get_cmd() 67 return cmd->smc_id; in meson_sm_get_cmd() 91 * meson_sm_call - generic SMC32 call to the secure-monitor 93 * @fw: Pointer to secure-monitor firmware 109 if (!fw->chip) in meson_sm_call() [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Amlogic Secure Monitor driver 6 tristate "Amlogic Secure Monitor driver" 11 Say y here to enable the Amlogic secure monitor driver
|
| /OK3568_Linux_fs/kernel/arch/arm/mach-bcm/ |
| H A D | bcm_kona_smc.c | 37 {.compatible = "brcm,kona-smc"}, 38 {.compatible = "bcm,kona-smc"}, /* deprecated name */ 54 return -ENODEV; in bcm_kona_smc_init() 59 return -EINVAL; in bcm_kona_smc_init() 61 /* We assume space for four 32-bit arguments */ in bcm_kona_smc_init() 63 return -EINVAL; in bcm_kona_smc_init() 68 return -EINVAL; in bcm_kona_smc_init() 72 return -ENOMEM; in bcm_kona_smc_init() 75 pr_info("Kona Secure API initialized\n"); in bcm_kona_smc_init() 83 * Only core 0 can run the secure monitor code. If an "smc" request [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/firmware/meson/ |
| H A D | meson_sm.txt | 1 * Amlogic Secure Monitor 3 In the Amlogic SoCs the Secure Monitor code is used to provide access to the 6 Required properties for the secure monitor node: 7 - compatible: Should be "amlogic,meson-gxbb-sm" 12 sm: secure-monitor { 13 compatible = "amlogic,meson-gxbb-sm";
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/nvmem/ |
| H A D | amlogic-efuse.txt | 4 - compatible: should be "amlogic,meson-gxbb-efuse" 5 - clocks: phandle to the efuse peripheral clock provided by the 7 - secure-monitor: phandle to the secure-monitor node 16 compatible = "amlogic,meson-gxbb-efuse"; 18 #address-cells = <1>; 19 #size-cells = <1>; 20 secure-monitor = <&sm>; 35 sm: secure-monitor { 36 compatible = "amlogic,meson-gxbb-sm"; 46 nvmem-cells = <ð_mac>; [all …]
|
| /OK3568_Linux_fs/kernel/drivers/firmware/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 # see Documentation/kbuild/kconfig-language.rst. 15 set of operating system-independent software interfaces that are 17 interfaces for: Discovery and self-description of the interfaces 19 a given device or domain into the various power-saving states that 51 provides a mechanism for inter-processor communication between SCP 102 bool "Add firmware-provided memory map to sysfs" if EXPERT 105 Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 109 See also Documentation/ABI/testing/sysfs-firmware-memmap. 142 DMI-based module auto-loading. [all …]
|
| H A D | stratix10-svc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2017-2018, Intel Corporation 19 #include <linux/firmware/intel/stratix10-smc.h> 20 #include <linux/firmware/intel/stratix10-svc-client.h> 24 * SVC_NUM_DATA_IN_FIFO - number of struct stratix10_svc_data in the FIFO 26 * SVC_NUM_CHANNEL - number of channel supported by service layer driver 28 * FPGA_CONFIG_DATA_CLAIM_TIMEOUT_MS - claim back the submitted buffer(s) 29 * from the secure world for FPGA manager to reuse, or to free the buffer(s) 30 * when all bit-stream data had be send. 32 * FPGA_CONFIG_STATUS_TIMEOUT_SEC - poll the FPGA configuration status, [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/firmware/ |
| H A D | intel,stratix10-svc.txt | 3 Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard 4 processor system (HPS) and Secure Device Manager (SDM). When the FPGA is 10 communication with SDM, only the secure world of software (EL3, Exception 18 driver also manages secure monitor call (SMC) to communicate with secure monitor 22 ------------------- 26 - compatible: "intel,stratix10-svc" or "intel,agilex-svc" 27 - method: smc or hvc 28 smc - Secure Monitor Call 29 hvc - Hypervisor Call 30 - memory-region: [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv7/ |
| H A D | nonsec_virt.S | 2 * code for switching cores into non-secure state and into HYP mode 6 * SPDX-License-Identifier: GPL-2.0+ 13 #include <asm/proc-armv/ptrace.h> 21 /* the vector table for secure state and HYP mode */ 39 * secure monitor handler 40 * U-Boot calls this "software interrupt" in start.S 42 * to non-secure state. 48 ldr r5, =_psci_vectors @ Switch to the next monitor 52 @ Obtain a secure stack 78 @ FIQ preserved for secure mode [all …]
|
| H A D | virt-dt.c | 2 * Copyright (C) 2013 - ARM Ltd 42 debug("Secure monitor larger than RAM bank!?\n"); in armv7_apply_memory_carveout() 43 return -EINVAL; in armv7_apply_memory_carveout() 45 *size -= CONFIG_ARMV7_SECURE_RESERVE_SIZE; in armv7_apply_memory_carveout() 50 debug("Secure monitor not located at beginning or end of RAM bank\n"); in armv7_apply_memory_carveout() 51 return -EINVAL; in armv7_apply_memory_carveout() 64 /* secure code lives in RAM, keep it alive */ in psci_update_dt() 66 __secure_end - __secure_start); in psci_update_dt()
|
| /OK3568_Linux_fs/kernel/arch/arm/mach-omap2/ |
| H A D | omap-secure.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * omap-secure.h: OMAP Secure infrastructure header. 15 /* Monitor error code */ 23 /* Secure HAL API flags */ 30 /* Maximum Secure memory storage size */ 35 /* Secure low power HAL API index */ 41 /* Secure Monitor mode APIs */ 52 /* Secure PPA(Primary Protected Application) APIs */ 60 /* Secure RX-51 PPA (Primary Protected Application) APIs */
|
| H A D | omap-smc.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * OMAP34xx and OMAP44xx secure APIs file. 15 * This is common routine to manage secure monitor API 16 * used to modify the PL310 secure registers. 18 * the monitor API number. It uses few CPU registers 23 .arch armv7-a 26 stmfd sp!, {r2-r12, lr} 31 ldmfd sp!, {r2-r12, pc} 36 * Low level common routine for secure HAL and PPA APIs. 43 stmfd sp!, {r4-r12, lr} [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/power/ |
| H A D | amlogic,meson-sec-pwrc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0+ OR MIT) 5 --- 6 $id: "http://devicetree.org/schemas/power/amlogic,meson-sec-pwrc.yaml#" 7 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 9 title: Amlogic Meson Secure Power Domains 12 - Jianxin Pan <jianxin.pan@amlogic.com> 15 Secure Power Domains used in Meson A1/C1 SoCs, and should be the child node 16 of secure-monitor. 21 - amlogic,meson-a1-pwrc 23 "#power-domain-cells": [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-omap2/ |
| H A D | lowlevel_init.S | 10 * SPDX-License-Identifier: GPL-2.0+ 54 push {r4-r12, lr} @ save registers - ROM code may pollute 61 smc 0 @ SMC #0 to enter monitor mode 63 pop {r4-r12, pc} 67 push {r4-r12, lr} @ save registers - ROM code may pollute 70 mov r12, #0x00 @ Secure Service ID in R12 74 smc 0 @ SMC #0 to enter monitor mode 79 @ In case of IRQ happening in Secure, then ARM will branch here. 80 @ At that moment, IRQ will be pending and ARM will jump to Non Secure 86 smc 0 @ SMC #0 to enter monitor mode [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-omap2/omap5/ |
| H A D | sec_entry_cpu1.S | 2 * Secure entry function for CPU Core #1 10 * SPDX-License-Identifier: GPL-2.0+ 36 * No need to save-restore registers, does not use stack. 43 mov r12, #0x00 @ Secure Service ID in R12 47 smc 0 @ SMC #0 to enter monitor mode 52 @ In case of IRQ happening in Secure, then ARM will branch here. 53 @ At that moment, IRQ will be pending and ARM will jump to Non Secure 59 smc 0 @ SMC #0 to enter monitor mode 75 * Makes a secure ROM/PPA call on CPU Core #1 on supported platforms. 77 * u-boot.
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/arm/ |
| H A D | pmu.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ARM Performance Monitor Units 10 - Mark Rutland <mark.rutland@arm.com> 11 - Will Deacon <will.deacon@arm.com> 16 representation in the device tree should be done as under:- 21 - enum: 22 - apm,potenza-pmu 23 - arm,armv8-pmuv3 # Only for s/w models [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm/mach-highbank/ |
| H A D | smc.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copied from omap44xx-smc.S Copyright (C) 2010 Texas Instruments, Inc. 10 * This is common routine to manage secure monitor API 11 * used to modify the PL310 secure registers. 13 * the monitor API number. 16 .arch armv7-a 19 stmfd sp!, {r4-r11, lr} 24 ldmfd sp!, {r4-r11, pc}
|
| /OK3568_Linux_fs/kernel/arch/arm/common/ |
| H A D | secure_cntvoff.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Initialization of CNTVOFF register from secure mode 13 .arch armv7-a 15 * CNTVOFF has to be initialized either from non-secure Hypervisor 16 * mode or secure Monitor mode with SCR.NS==1. If TrustZone is enabled 17 * then it should be handled by the secure code. The CPU must implement 21 mrc p15, 0, r1, c1, c1, 0 /* Get Secure Config */ 23 mcr p15, 0, r0, c1, c1, 0 /* Set Non Secure bit */ 28 mcr p15, 0, r1, c1, c1, 0 /* Set Secure bit */
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-meson/ |
| H A D | sm.c | 4 * SPDX-License-Identifier: GPL-2.0+ 6 * Secure monitor calls. 36 debug("Secure Monitor shmem: 0x%p 0x%p\n", shmem_input, shmem_output); in meson_init_shmem() 52 return -1; in meson_sm_read_efuse()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/ |
| H A D | mali_kbase_smc.h | 12 * Boston, MA 02110-1301, USA. 37 * kbase_invoke_smc_fid - Perform a secure monitor call 50 * kbase_invoke_smc_fid - Perform a secure monitor call
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/ |
| H A D | mali_kbase_smc.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 * (C) COPYRIGHT 2015, 2020-2022 ARM Limited. All rights reserved. 18 * http://www.gnu.org/licenses/gpl-2.0.html. 39 * kbase_invoke_smc_fid - Perform a secure monitor call 52 * kbase_invoke_smc - Perform a secure monitor call
|
| /OK3568_Linux_fs/kernel/include/linux/firmware/ |
| H A D | trusted_foundations.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 7 * Support for the Trusted Foundations secure monitor. 10 * Tegra-based devices sold on the market are concerned). Such devices can only 12 * SMC calls to the secure monitor. The calls are completely specific to 27 #include <asm/hardware/cache-l2x0.h> 78 if (of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations")) in of_register_trusted_foundations()
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/misc/ |
| H A D | brcm,kona-smc.txt | 1 Broadcom Secure Monitor Bounce buffer 2 ----------------------------------------------------- 4 used for non-secure to secure communications. 7 - compatible : "brcm,kona-smc" 8 - DEPRECATED: compatible : "bcm,kona-smc" 9 - reg : Location and size of bounce buffer 13 compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
|