| /Linux-v5.4/Documentation/devicetree/bindings/iommu/ | 
| D | qcom,iommu.txt | 3 Qualcomm "B" family devices which are not compatible with arm-smmu have 4 a similar looking IOMMU but without access to the global register space, 6 to non-secure vs secure interrupt line. 10 - compatible       : Should be one of: 12                         "qcom,msm8916-iommu" 14                      Followed by "qcom,msm-iommu-v1". 16 - clock-names      : Should be a pair of "iface" (required for IOMMUs 17                      register group access) and "bus" (required for 18                      the IOMMUs underlying bus access). 20 - clocks           : Phandles for respective clocks described by [all …] 
 | 
| D | arm,smmu.txt | 12 - compatible    : Should be one of: 14                         "arm,smmu-v1" 15                         "arm,smmu-v2" 16                         "arm,mmu-400" 17                         "arm,mmu-401" 18                         "arm,mmu-500" 19                         "cavium,smmu-v2" 20                         "qcom,smmu-v2" 25                   Qcom SoCs must contain, as below, SoC-specific compatibles 26                   along with "qcom,smmu-v2": [all …] 
 | 
| D | msm,iommu-v0.txt | 5 of the CPU, each connected to the IOMMU through a port called micro-TLB. 9   - compatible: Must contain "qcom,apq8064-iommu". 10   - reg: Base address and size of the IOMMU registers. 11   - interrupts: Specifiers for the MMU fault interrupts. For instances that 12     support secure mode two interrupts must be specified, for non-secure and 13     secure mode, in that order. For instances that don't support secure mode a 15   - #iommu-cells: The number of cells needed to specify the stream id. This 17   - qcom,ncb:	  The total number of context banks in the IOMMU. 18   - clocks	: List of clocks to be used during SMMU register access. See 19 		  Documentation/devicetree/bindings/clock/clock-bindings.txt [all …] 
 | 
| D | arm,smmu-v3.txt | 4 revisions, replacing the MMIO register interface with in-memory command 10 - compatible        : Should include: 12                       * "arm,smmu-v3" for any SMMUv3 compliant 16 - reg               : Base address and size of the SMMU. 18 - interrupts        : Non-secure interrupt list describing the wired 20                       interrupt-names. If no wired interrupts are 23 - interrupt-names   : When the interrupts property is present, should 25                       * "eventq"    - Event Queue not empty 26                       * "priq"      - PRI Queue not empty 27                       * "cmdq-sync" - CMD_SYNC complete [all …] 
 | 
| /Linux-v5.4/Documentation/devicetree/bindings/arm/ | 
| D | pmu.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 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 24           - arm,cortex-a73-pmu [all …] 
 | 
| D | cci.txt | 5 ARM multi-cluster systems maintain intra-cluster coherency through a 24 	- compatible 28 			    "arm,cci-400" 29 			    "arm,cci-500" 30 			    "arm,cci-550" 32 	- reg 40 	- ranges: 53 	- CCI control interface nodes 55 		Node name must be "slave-if". 61 		- compatible [all …] 
 | 
| D | arm,scmi.txt | 2 ---------------------------------------------------------- 17 - compatible : shall be "arm,scmi" 18 - mboxes: List of phandle and mailbox channel specifiers. It should contain 22 - shmem : List of phandle pointing to the shared memory(SHM) area as per 24 - #address-cells : should be '1' if the device has sub-nodes, maps to 25 	  protocol identifier for a given sub-node. 26 - #size-cells : should be '0' as 'reg' property doesn't have any size 31 - mbox-names: shall be "tx" or "rx" depending on mboxes entries. 40 Each protocol supported shall have a sub-node with corresponding compatible 43 mboxes, mbox-names and shmem shall be present in the sub-node corresponding [all …] 
 | 
| D | arm,scpi.txt | 2 ---------------------------------------------------------- 10 - compatible : should be 12 	* "arm,scpi-pre-1.0" : For implementations complying to all 14 - mboxes: List of phandle and mailbox channel specifiers 17 - shmem : List of phandle pointing to the shared memory(SHM) area between the 27 ------------------------------------------------------------ 34 - compatible : should be "arm,scpi-clocks" 36 	       protocol much be listed as sub-nodes under this node. 38 Sub-nodes 41 - compatible : shall include one of the following [all …] 
 | 
| /Linux-v5.4/Documentation/devicetree/bindings/interrupt-controller/ | 
| D | marvell,icu.txt | 2 -------------------------------- 5 responsible for collecting all wired-interrupt sources in the CP and 8 These messages will access a different GIC memory area depending on 13 - compatible: Should be "marvell,cp110-icu" 15 - reg: Should contain ICU registers location and length. 22 - compatible: Should be one of: 23               * "marvell,cp110-icu-nsr" 24 	      * "marvell,cp110-icu-sr" 25 	      * "marvell,cp110-icu-sei" 26 	      * "marvell,cp110-icu-rei" [all …] 
 | 
| /Linux-v5.4/drivers/perf/ | 
| D | arm_pmu_platform.c | 1 // SPDX-License-Identifier: GPL-2.0 30 	int ret = -ENODEV;  in probe_current_pmu() 34 	for (; info->init != NULL; info++) {  in probe_current_pmu() 35 		if ((cpuid & info->mask) != info->cpuid)  in probe_current_pmu() 37 		ret = info->init(pmu);  in probe_current_pmu() 48 	struct pmu_hw_events __percpu *hw_events = pmu->hw_events;  in pmu_parse_percpu_irq() 50 	ret = irq_get_percpu_devid_partition(irq, &pmu->supported_cpus);  in pmu_parse_percpu_irq() 54 	for_each_cpu(cpu, &pmu->supported_cpus)  in pmu_parse_percpu_irq() 55 		per_cpu(hw_events->irq, cpu) = irq;  in pmu_parse_percpu_irq() 62 	return !!of_find_property(node, "interrupt-affinity", NULL);  in pmu_has_irq_affinity() [all …] 
 | 
| /Linux-v5.4/Documentation/driver-api/ | 
| D | vfio.rst | 2 VFIO - "Virtual Function I/O" [1]_ 7 allotted.  This includes x86 hardware with AMD-Vi and Intel VT-d, 10 agnostic framework for exposing direct device access to userspace, in 11 a secure, IOMMU protected environment.  In other words, this allows 12 safe [2]_, non-privileged, userspace drivers. 15 access ("device assignment") when configured for the highest possible 19 bare-metal device drivers [3]_. 22 field, also benefit from low-overhead, direct device access from 23 userspace.  Examples include network adapters (often non-TCP/IP based) 28 and requires root privileges to access things like PCI configuration [all …] 
 | 
| /Linux-v5.4/drivers/iommu/ | 
| D | arm-smmu-impl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #define pr_fmt(fmt) "arm-smmu: " fmt 10 #include "arm-smmu.h" 44 /* Since we don't care for sGFAR, we can do without 64-bit accessors */ 65 	cs->id_base = atomic_fetch_add(smmu->num_context_banks, &context_count);  in cavium_cfg_probe() 66 	dev_notice(smmu->dev, "\tenabling workaround for Cavium erratum 27704\n");  in cavium_cfg_probe() 73 	struct cavium_smmu *cs = container_of(smmu_domain->smmu,  in cavium_init_context() 76 	if (smmu_domain->stage == ARM_SMMU_DOMAIN_S2)  in cavium_init_context() 77 		smmu_domain->cfg.vmid += cs->id_base;  in cavium_init_context() 79 		smmu_domain->cfg.asid += cs->id_base;  in cavium_init_context() [all …] 
 | 
| D | ipmmu-vmsa.c | 1 // SPDX-License-Identifier: GPL-2.0 3  * IOMMU API for Renesas VMSA-compatible IPMMU 11 #include <linux/dma-iommu.h> 12 #include <linux/dma-mapping.h> 18 #include <linux/io-pgtable.h> 30 #include <asm/dma-iommu.h> 34 #define arm_iommu_attach_device(...)	-ENODEV 40 #define IPMMU_CTX_INVALID	-1 91 	return fwspec ? fwspec->iommu_priv : NULL;  in to_ipmmu() 96 /* ----------------------------------------------------------------------------- [all …] 
 | 
| /Linux-v5.4/drivers/rtc/ | 
| D | rtc-mxc_v2.c | 1 // SPDX-License-Identifier: GPL-2.0 4  * Copyright (c) 2004-2011 Freescale Semiconductor, Inc. 21 #define SRTC_LPCR_NSA         BIT(11)	/* lp non secure access */ 26 #define SRTC_LPSR_NVES        BIT(14)	/* lp non-valid state exit status */ 29 #define SRTC_LPSCMR	0x00	/* LP Secure Counter MSB Reg */ 30 #define SRTC_LPSCLR	0x04	/* LP Secure Counter LSB Reg */ 31 #define SRTC_LPSAR	0x08	/* LP Secure Alarm Reg */ 32 #define SRTC_LPCR	0x10	/* LP Control Reg */ 33 #define SRTC_LPSR	0x14	/* LP Status Reg */ 34 #define SRTC_LPPDR	0x18	/* LP Power Supply Glitch Detector Reg */ [all …] 
 | 
| /Linux-v5.4/drivers/mailbox/ | 
| D | ti-msgmgr.c | 1 // SPDX-License-Identifier: GPL-2.0 5  * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/ 21 #include <linux/soc/ti/ti-msgmgr.h> 23 #define Q_DATA_OFFSET(proxy, queue, reg)	\  argument 24 		     ((0x10000 * (proxy)) + (0x80 * (queue)) + ((reg) * 4)) 29 #define SPROXY_THREAD_DATA_OFFSET(tid, reg) \  argument 30 	(SPROXY_THREAD_OFFSET(tid) + ((reg) * 0x4) + 0x4) 40  * struct ti_msgmgr_valid_queue_desc - SoC valid queues meant for this processor 52  * struct ti_msgmgr_desc - Description of message manager integration 62  * @valid_queues:	List of Valid queues that the processor can access [all …] 
 | 
| /Linux-v5.4/drivers/crypto/caam/ | 
| D | regs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3  * CAAM hardware register-level view 5  * Copyright 2008-2011 Freescale Semiconductor, Inc. 15 #include <linux/io-64-nonatomic-hi-lo.h> 18  * Architecture-specific register access methods 20  * CAAM's bus-addressable registers are 64 bits internally. 21  * They have been wired to be safely accessible on 32-bit 24  * can be treated as two 32-bit entities, or finally (c) if they 25  * must be treated as a single 64-bit value, then this can safely 26  * be done with two 32-bit cycles. [all …] 
 | 
| /Linux-v5.4/arch/arm/boot/dts/ | 
| D | dra7.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3  * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 8 #include <dt-bindings/bus/ti-sysc.h> 9 #include <dt-bindings/clock/dra7.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/pinctrl/dra.h> 12 #include <dt-bindings/clock/dra7.h> 17 	#address-cells = <2>; 18 	#size-cells = <2>; 21 	interrupt-parent = <&crossbar_mpu>; [all …] 
 | 
| D | omap3-tao3530.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 6 /dts-v1/; 10 /* Secure omaps have some devices inaccessible depending on the firmware */ 22 			cpu0-supply = <&vcc>; 28 		reg = <0x80000000 0x10000000>; /* 256 MB */ 33 		compatible = "regulator-fixed"; 34 		regulator-name = "hsusb2_vbus"; 35 		regulator-min-microvolt = <3300000>; 36 		regulator-max-microvolt = <3300000>; [all …] 
 | 
| D | imx6q-bx50v3.dtsi | 5  * This file is dual-licensed: you can use it either under the terms 43 #include "imx6q-ba16.dtsi" 46 	mclk: clock-mclk { 47 		compatible = "fixed-clock"; 48 		#clock-cells = <0>; 49 		clock-frequency = <22000000>; 52 	gpio-poweroff { 53 		compatible = "gpio-poweroff"; 58 	reg_wl18xx_vmmc: regulator-wl18xx { 59 		compatible = "regulator-fixed"; [all …] 
 | 
| /Linux-v5.4/arch/arm/mach-imx/ | 
| D | cpu-imx5.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3  * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. 19 static int mx5_cpu_rev = -1; 42 	u32 rev = imx5_read_srev_reg("fsl,imx51-iim");  in get_mx51_srev() 60 	if (mx5_cpu_rev == -1)  in mx51_revision() 71  * Dependent on link order - so the assumption is that vfp_init is called 88 	u32 rev = imx5_read_srev_reg("fsl,imx53-iim");  in get_mx53_srev() 108 	if (mx5_cpu_rev == -1)  in mx53_revision() 134 	np = of_find_compatible_node(NULL, NULL, "arm,cortex-a8-pmu");  in imx5_pmu_init() 138 	if (!of_property_read_bool(np, "secure-reg-access"))  in imx5_pmu_init() [all …] 
 | 
| /Linux-v5.4/arch/arm/mach-omap2/ | 
| D | control.h | 2  * arch/arm/mach-omap2/control.h 6  * Copyright (C) 2007-2010 Texas Instruments, Inc. 7  * Copyright (C) 2007-2008, 2010 Nokia Corporation 22 #define OMAP242X_CTRL_REGADDR(reg)					\  argument 23 		OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) 24 #define OMAP243X_CTRL_REGADDR(reg)					\  argument 25 		OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) 26 #define OMAP343X_CTRL_REGADDR(reg)					\  argument 27 		OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) 28 #define AM33XX_CTRL_REGADDR(reg)					\  argument [all …] 
 | 
| D | omap4-common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 20 #include <linux/irqchip/arm-gic.h> 25 #include <asm/hardware/cache-l2x0.h> 30 #include "omap-wakeupgen.h" 36 #include "omap4-sar-layout.h" 37 #include "omap-secure.h" 64  * We need to be careful about re-ordering which can happen as a result 75  * The mb() and wmb() barriers only operate only on the MPU->MA->EMIF 88  * OMAP4 Errata i688 - asynchronous bridge corruption when entering WFI. 103  * The work-around for this errata needs all the initiators connected [all …] 
 | 
| /Linux-v5.4/drivers/irqchip/ | 
| D | irq-gic-v3.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3  * Copyright (C) 2013-2017 ARM Limited, All Rights Reserved. 23 #include <linux/irqchip/arm-gic-common.h> 24 #include <linux/irqchip/arm-gic-v3.h> 25 #include <linux/irqchip/irq-partition-percpu.h> 32 #include "irq-gic-common.h" 67  * SCR_EL3.FIQ, and the behaviour of non-secure priority registers of the 71  * When security is enabled, non-secure priority values from the (re)distributor 75  * If SCR_EL3.FIQ == 1, the values writen to/read from PMR and RPR at non-secure 80  * - section 4.8.1 Non-secure accesses to register fields for Secure interrupt [all …] 
 | 
| /Linux-v5.4/arch/arm/mm/ | 
| D | cache-l2x0.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3  * arch/arm/mm/cache-l2x0.c - L210/L220/L310 cache controller support 20 #include <asm/hardware/cache-l2x0.h> 21 #include <asm/hardware/cache-aurora-l2.h> 22 #include "cache-tauros3.h" 54 static inline void l2c_wait_mask(void __iomem *reg, unsigned long mask)  in l2c_wait_mask()  argument 57 	while (readl_relaxed(reg) & mask)  in l2c_wait_mask() 62  * By default, we write directly to secure registers.  Platforms must 63  * override this if they are running non-secure. 65 static void l2c_write_sec(unsigned long val, void __iomem *base, unsigned reg)  in l2c_write_sec()  argument [all …] 
 | 
| /Linux-v5.4/drivers/crypto/inside-secure/ | 
| D | safexcel.c | 1 // SPDX-License-Identifier: GPL-2.0 5  * Antoine Tenart <antoine.tenart@free-electrons.com> 10 #include <linux/dma-mapping.h> 45 		writel(0, priv->base + EIP197_FLUE_IFC_LUT(i));  in eip197_trc_cache_setupvirt() 51 	for (i = 0; i < priv->config.rings; i++) {  in eip197_trc_cache_setupvirt() 52 		writel(0, priv->base + EIP197_FLUE_CACHEBASE_LO(i));  in eip197_trc_cache_setupvirt() 53 		writel(0, priv->base + EIP197_FLUE_CACHEBASE_HI(i));  in eip197_trc_cache_setupvirt() 55 		       priv->base + EIP197_FLUE_CONFIG(i));  in eip197_trc_cache_setupvirt() 57 	writel(0, priv->base + EIP197_FLUE_OFFSETS);  in eip197_trc_cache_setupvirt() 58 	writel(0, priv->base + EIP197_FLUE_ARC4_OFFSET);  in eip197_trc_cache_setupvirt() [all …] 
 |