/linux/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> 63 const struct meson_sm_cmd *cmd = chip->cmd; in meson_sm_get_cmd() 65 while (cmd->smc_id && cmd->index != cmd_index) in meson_sm_get_cmd() 68 return cmd->smc_id; in meson_sm_get_cmd() 92 * meson_sm_call - generic SMC32 call to the secure-monitor 94 * @fw: Pointer to secure-monitor firmware 111 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
|
/linux/arch/arm/mach-bcm/ |
H A D | bcm_kona_smc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 25 {.compatible = "brcm,kona-smc"}, 26 {.compatible = "bcm,kona-smc"}, /* deprecated name */ 40 return -ENODEV; in bcm_kona_smc_init() 45 return -EINVAL; in bcm_kona_smc_init() 49 return -ENOMEM; in bcm_kona_smc_init() 52 pr_info("Kona Secure API initialized\n"); in bcm_kona_smc_init() 60 * Only core 0 can run the secure monitor code. If an "smc" request 67 * cache and interrupt handling while the secure monitor executes. 69 * Parameters to the "smc" request are passed in r4-r6 as follows: [all …]
|
H A D | kona_l2_cache.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (C) 2012-2014 Broadcom Corporation 7 #include <asm/hardware/cache-l2x0.h> 19 pr_info("Secure API not available (%d). Skipping L2 init.\n", in kona_l2_cache_init() 26 pr_err("Secure Monitor call failed (%u)! Skipping L2 init.\n", in kona_l2_cache_init()
|
/linux/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 …]
|
/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | amlogic,meson-gxbb-efuse.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/nvmem/amlogic,meson-gxbb-efuse.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Neil Armstrong <neil.armstrong@linaro.org> 13 - $ref: nvmem.yaml# 14 - $ref: nvmem-deprecated-cells.yaml# 19 - const: amlogic,meson-gxbb-efuse 20 - items: 21 - const: amlogic,meson-gx-efuse [all …]
|
/linux/drivers/firmware/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 # see Documentation/kbuild/kconfig-language.rst. 19 provides a mechanism for inter-processor communication between SCP 62 bool "Add firmware-provided memory map to sysfs" if EXPERT 65 Add the firmware-provided (unmodified) memory map to /sys/firmware/memmap. 69 See also Documentation/ABI/testing/sysfs-firmware-memmap. 78 DMI-based module auto-loading. 150 and manages secure monitor call to communicate with secure monitor 151 software at secure monitor exception level. 193 bootloader or kernel can show basic video-output during boot for [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 …]
|
/linux/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 …]
|
H A D | amlogic,meson-gxbb-sm.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/firmware/amlogic,meson-gxbb-sm.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Amlogic Secure Monitor (SM) 10 In the Amlogic SoCs the Secure Monitor code is used to provide access to the 14 - Neil Armstrong <neil.armstrong@linaro.org> 19 - const: amlogic,meson-gxbb-sm 20 - items: 21 - const: amlogic,meson-gx-sm [all …]
|
H A D | brcm,kona-smc.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/firmware/brcm,kona-smc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Broadcom Kona family Secure Monitor bounce buffer 10 A bounce buffer used for non-secure to secure communications. 13 - Florian Fainelli <f.fainelli@gmail.com> 18 - enum: 19 - brcm,bcm11351-smc 20 - brcm,bcm21664-smc [all …]
|
/linux/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 …]
|
H A D | sleep34xx.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 5 * Karthik Dasu <karthik-dp@ti.com> 9 * Richard Woodruff <r-woodruff2@ti.com> 57 * with non-Thumb-2-capable firmware. 82 * Function to call rom code to save secure ram context. 86 .arch armv7-a 89 stmfd sp!, {r4 - r11, lr} @ save registers on stack 92 mov r12, r0 @ copy secure service ID in r12 98 smc #1 @ call SMI monitor (smi #1) 103 ldmfd sp!, {r4 - r11, pc} [all …]
|
/linux/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/S4 & C3/T7 SoCs, and should be the child node 16 of secure-monitor. 21 - amlogic,meson-a1-pwrc 22 - amlogic,meson-s4-pwrc [all …]
|
/linux/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}
|
/linux/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 */
|
/linux/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 - apple,avalanche-pmu [all …]
|
/linux/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> 74 struct device_node *np = of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations"); in of_register_trusted_foundations()
|
/linux/Documentation/devicetree/bindings/arm/amlogic/ |
H A D | amlogic,meson-mx-secbus2.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/amlogic/amlogic,meson-mx-secbus2.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Martin Blumenstingl <martin.blumenstingl@googlemail.com> 14 contains registers for various IP blocks such as pin-controller bits for 16 The registers can be accessed directly when not running in "secure mode". 17 When "secure mode" is enabled then these registers have to be accessed 18 through secure monitor calls. 23 - enum: [all …]
|
/linux/drivers/nvmem/ |
H A D | meson-efuse.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/nvmem-provider.h> 42 { .compatible = "amlogic,meson-gxbb-efuse", }, 49 struct device *dev = &pdev->dev; in meson_efuse_probe() 56 of_parse_phandle(pdev->dev.of_node, "secure-monitor", 0); in meson_efuse_probe() 59 dev_err(&pdev->dev, "no secure-monitor node\n"); in meson_efuse_probe() 60 return -ENODEV; in meson_efuse_probe() 65 return -EPROBE_DEFER; in meson_efuse_probe() 73 return -EINVAL; in meson_efuse_probe() 78 return -ENOMEM; in meson_efuse_probe() [all …]
|
/linux/Documentation/driver-api/firmware/ |
H A D | other_interfaces.rst | 5 -------------- 7 .. kernel-doc:: drivers/firmware/dmi_scan.c 11 -------------- 13 .. kernel-doc:: drivers/firmware/edd.c 17 ------------------------------------- 19 .. kernel-doc:: drivers/firmware/sysfb.c 23 --------------------------------- 25 higher than the kernel is granted. Such secure features include 31 drivers to request access to the secure features. The requests are queued 33 of the requests on to a secure monitor (EL3). [all …]
|
/linux/drivers/watchdog/ |
H A D | arm_smc_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ARM Secure Monitor Call watchdog driver 10 #include <linux/arm-smccc.h> 45 if (res->a0 == PSCI_RET_NOT_SUPPORTED) in smcwd_call() 46 return -ENODEV; in smcwd_call() 47 if (res->a0 == PSCI_RET_INVALID_PARAMS) in smcwd_call() 48 return -EINVAL; in smcwd_call() 49 if (res->a0 != PSCI_RET_SUCCESS) in smcwd_call() 50 return -EIO; in smcwd_call() 75 wdd->timeout = timeout; in smcwd_set_timeout() [all …]
|
/linux/arch/arm64/boot/dts/amlogic/ |
H A D | amlogic-t7.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/power/amlogic,t7-pwrc.h> 8 #include "amlogic-t7-reset.h" 11 interrupt-parent = <&gic>; 12 #address-cells = <2>; 13 #size-cells = <2>; 16 #address-cells = <0x2>; 17 #size-cells = <0x0>; 19 cpu-map { [all …]
|
/linux/arch/arm/mach-at91/ |
H A D | sam_secure.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 #include <linux/arm-smccc.h> 11 /* Secure Monitor mode APIs */
|