/linux/Documentation/devicetree/bindings/display/ |
H A D | arm,komeda.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/arm,komeda.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Arm Komeda display processor 10 - Liviu Dudau <Liviu.Dudau@arm.com> 11 - Andre Przywara <andre.przywara@arm.com> 14 The Arm Mali D71 display processor supports up to two displays with up 21 - items: 22 - const: arm,mali-d32 [all …]
|
/linux/Documentation/devicetree/bindings/iommu/ |
H A D | arm,smmu-v3.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/iommu/arm,smmu-v3.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ARM SMMUv3 Architecture Implementation 10 - Will Deacon <will@kernel.org> 11 - Robin Murphy <Robin.Murphy@arm.com> 15 revisions, replacing the MMIO register interface with in-memory command 21 pattern: "^iommu@[0-9a-f]*" 23 const: arm,smmu-v3 [all …]
|
/linux/drivers/iommu/arm/arm-smmu/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o 3 obj-$(CONFIG_ARM_SMMU) += arm_smmu.o 4 arm_smmu-objs += arm-smmu.o arm-smmu-impl.o arm-smmu-nvidia.o 5 arm_smmu-$(CONFIG_ARM_SMMU_QCOM) += arm-smmu-qcom.o 6 arm_smmu-$(CONFIG_ARM_SMMU_QCOM_DEBUG) += arm-smmu-qcom-debug.o
|
H A D | arm-smmu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * IOMMU API for ARM architected SMMU implementations. 5 * Copyright (C) 2013 ARM Limited 7 * Author: Will Deacon <will.deacon@arm.com> 10 * - SMMUv1 and v2 implementations 11 * - Stream-matching and stream-indexing 12 * - v7/v8 long-descriptor format 13 * - Non-secure access to the SMMU 14 * - Context fault reporting 15 * - Extended Stream ID (16 bit) [all …]
|
H A D | arm-smmu-nvidia.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (C) 2019-2020 NVIDIA CORPORATION. All rights reserved. 12 #include "arm-smmu.h" 15 * Tegra194 has three ARM MMU-500 Instances. 18 * non-isochronous HW devices. 21 * In addition, the SMMU driver needs to coordinate with the memory controller 23 * memory client. This is necessary to allow for use-case such as seamlessly 30 * SMMU instance. 35 struct arm_smmu_device smmu; member 41 static inline struct nvidia_smmu *to_nvidia_smmu(struct arm_smmu_device *smmu) in to_nvidia_smmu() argument [all …]
|
/linux/Documentation/devicetree/bindings/perf/ |
H A D | arm,smmu-v3-pmcg.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/perf/arm,smmu-v3-pmcg.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Arm SMMUv3 Performance Monitor Counter Group 10 - Will Deacon <will@kernel.org> 11 - Robin Murphy <robin.murphy@arm.com> 20 pattern: "^pmu@[0-9a-f]*" 23 - items: 24 - const: arm,mmu-600-pmcg [all …]
|
/linux/drivers/iommu/arm/arm-smmu-v3/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_ARM_SMMU_V3) += arm_smmu_v3.o 3 arm_smmu_v3-y := arm-smmu-v3.o 4 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_IOMMUFD) += arm-smmu-v3-iommufd.o 5 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_SVA) += arm-smmu-v3-sva.o 6 arm_smmu_v3-$(CONFIG_TEGRA241_CMDQV) += tegra241-cmdqv.o 8 obj-$(CONFIG_ARM_SMMU_V3_KUNIT_TEST) += arm-smmu-v3-test.o
|
H A D | arm-smmu-v3.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * IOMMU API for ARM architected SMMUv3 implementations. 5 * Copyright (C) 2015 ARM Limited 7 * Author: Will Deacon <will.deacon@arm.com> 19 #include <linux/io-pgtable.h> 27 #include <linux/pci-ats.h> 33 #include "arm-smmu-v3.h" 34 #include "../../dma-iommu.h" 39 "Disable MSI-based polling for CMD_SYNC completion."); 82 { ARM_SMMU_OPT_SKIP_PREFETCH, "hisilicon,broken-prefetch-cmd" }, [all …]
|
H A D | arm-smmu-v3-test.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/io-pgtable.h> 8 #include "arm-smmu-v3.h" 26 static struct arm_smmu_device smmu = { variable 61 test_writer->test, sizeof(*entry_used_bits) * NUM_ENTRY_QWORDS, in arm_smmu_test_writer_record_syncs() 63 KUNIT_ASSERT_NOT_NULL(test_writer->test, entry_used_bits); in arm_smmu_test_writer_record_syncs() 67 test_writer->entry, in arm_smmu_test_writer_record_syncs() 68 NUM_ENTRY_QWORDS * sizeof(*test_writer->entry), in arm_smmu_test_writer_record_syncs() 71 test_writer->num_syncs += 1; in arm_smmu_test_writer_record_syncs() 72 if (!test_writer->entry[0]) { in arm_smmu_test_writer_record_syncs() [all …]
|
H A D | arm-smmu-v3-iommufd.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include "arm-smmu-v3.h" 19 return ERR_PTR(-ENOMEM); in arm_smmu_hw_info() 21 base_idr = master->smmu->base + ARM_SMMU_IDR0; in arm_smmu_hw_info() 23 info->idr[i] = readl_relaxed(base_idr + i); in arm_smmu_hw_info() 24 info->iidr = readl_relaxed(master->smmu->base + ARM_SMMU_IIDR); in arm_smmu_hw_info() 25 info->aidr = readl_relaxed(master->smmu->base + ARM_SMMU_AIDR); in arm_smmu_hw_info() 38 target, master, nested_domain->vsmmu->s2_parent, ats_enabled); in arm_smmu_make_nested_cd_table_ste() 40 target->data[0] = cpu_to_le64(STRTAB_STE_0_V | in arm_smmu_make_nested_cd_table_ste() 43 target->data[0] |= nested_domain->ste[0] & in arm_smmu_make_nested_cd_table_ste() [all …]
|
H A D | tegra241-cmdqv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Copyright (C) 2021-2024 NVIDIA CORPORATION & AFFILIATES. */ 8 #include <linux/dma-mapping.h> 15 #include "arm-smmu-v3.h" 61 /* -- PAGE0 -- */ 78 /* -- PAGE1 -- */ 86 /* VINTF logical-VCMDQ pages */ 96 ((_cmdqv)->base + TEGRA241_CMDQV_##_regname) 98 ((_vintf)->base + TEGRA241_VINTF_##_regname) 100 ((_vcmdq)->page0 + TEGRA241_VCMDQ_##_regname) [all …]
|
/linux/arch/arm64/boot/dts/xilinx/ |
H A D | zynqmp.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * (C) Copyright 2014 - 2021, Xilinx, Inc. 15 #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h> 16 #include <dt-bindings/gpio/gpio.h> 17 #include <dt-bindings/interrupt-controller/arm-gic.h> 18 #include <dt-bindings/interrupt-controller/irq.h> 19 #include <dt-bindings/power/xlnx-zynqmp-power.h> 20 #include <dt-bindings/reset/xlnx-zynqmp-resets.h> 21 #include <dt-bindings/thermal/thermal.h> 25 #address-cells = <2>; [all …]
|
/linux/drivers/acpi/arm64/ |
H A D | iort.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * IORT document number: ARM DEN 0049A 21 #include <linux/dma-map-ops.h> 45 * iort_set_fwnode() - Create iort_fwnode and use it to register 62 return -ENOMEM; in iort_set_fwnode() 64 INIT_LIST_HEAD(&np->list); in iort_set_fwnode() 65 np->iort_node = iort_node; in iort_set_fwnode() 66 np->fwnode = fwnode; in iort_set_fwnode() 69 list_add_tail(&np->list, &iort_fwnode_list); in iort_set_fwnode() 76 * iort_get_fwnode() - Retrieve fwnode associated with an IORT node [all …]
|
/linux/drivers/iommu/arm/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-y += arm-smmu/ arm-smmu-v3/
|
/linux/arch/arm64/boot/dts/arm/ |
H A D | juno-base.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "juno-clocks.dtsi" 3 #include "juno-motherboard.dtsi" 11 compatible = "arm,armv7-timer-mem"; 13 clock-frequency = <50000000>; 14 #address-cells = <1>; 15 #size-cells = <1>; 19 frame-number = <1>; 26 compatible = "arm,mhu", "arm,primecell"; 31 #mbox-cells = <1>; [all …]
|
H A D | fvp-base-revc.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * ARM Ltd. Fast Models 5 * Architecture Envelope Model (AEM) ARMv8-A 11 /dts-v1/; 13 #include <dt-bindings/interrupt-controller/arm-gic.h> 17 #include "rtsm_ve-motherboard.dtsi" 18 #include "rtsm_ve-motherboard-rs2.dtsi" 22 compatible = "arm,fvp-base-revc", "arm,vexpress"; 23 interrupt-parent = <&gic>; 24 #address-cells = <2>; [all …]
|
/linux/arch/arm64/boot/dts/altera/ |
H A D | socfpga_stratix10.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 6 /dts-v1/; 7 #include <dt-bindings/reset/altr,rst-mgr-s10.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/clock/stratix10-clock.h> 12 compatible = "altr,socfpga-stratix10"; 13 #address-cells = <2>; 14 #size-cells = <2>; 16 reserved-memory { 17 #address-cells = <2>; [all …]
|
/linux/include/linux/ |
H A D | adreno-smmu-priv.h | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/io-pgtable.h> 12 * struct adreno_smmu_fault_info - container for key fault information 38 * struct adreno_smmu_priv - private interface between adreno-smmu and GPU 40 * @cookie: An opque token provided by adreno-smm [all...] |
/linux/include/soc/tegra/ |
H A D | mc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 12 #include <linux/interconnect-provider.h> 14 #include <linux/reset-controller.h> 16 #include <linux/tegra-icc.h> 35 * Tegra SMMU, whereas on Tegra186 and later this is the ID used to override the ARM SMMU 46 /* Tegra SMMU enable (Tegra210 and earlier) */ 50 } smmu; member 104 void tegra_smmu_remove(struct tegra_smmu *smmu); 113 static inline void tegra_smmu_remove(struct tegra_smmu *smmu) in tegra_smmu_remove() argument 161 * @probe: Callback to set up SoC-specific bits of the memory controller. This is called [all …]
|
/linux/Documentation/devicetree/bindings/misc/ |
H A D | fsl,qoriq-mc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/misc/fsl,qoriq-mc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Frank Li <Frank.Li@nxp.com> 13 The Freescale Management Complex (fsl-mc) is a hardware resource 15 network-oriented packet processing applications. After the fsl-mc 22 For an overview of the DPAA2 architecture and fsl-mc bus see: 26 same hardware "isolation context" and a 10-bit value called an ICID 31 between ICIDs and IOMMUs, so an iommu-map property is used to define [all …]
|
/linux/drivers/gpu/drm/msm/ |
H A D | msm_iommu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/adreno-smmu-priv.h> 8 #include <linux/io-pgtable.h> 46 pgsizes = pagetable->pgsize_bitmap & GENMASK(__fls(size), 0); in calc_pgsize() 62 pgsizes = pagetable->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); in calc_pgsize() 73 if ((iova ^ paddr) & (pgsize_next - 1)) in calc_pgsize() 77 offset = pgsize_next - (addr_merge & (pgsize_next - 1)); in calc_pgsize() 95 struct io_pgtable_ops *ops = pagetable->pgtbl_ops; in msm_iommu_pagetable_unmap() 102 unmapped = ops->unmap_pages(ops, iova, pgsize, count, NULL); in msm_iommu_pagetable_unmap() 107 size -= unmapped; in msm_iommu_pagetable_unmap() [all …]
|
/linux/arch/arm64/boot/dts/nvidia/ |
H A D | tegra186.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra186-clock.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/mailbox/tegra186-hsp.h> 6 #include <dt-bindings/memory/tegra186-mc.h> 7 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 8 #include <dt-bindings/power/tegra186-powergate.h> 9 #include <dt-bindings/reset/tegra186-reset.h> 10 #include <dt-bindings/thermal/tegra186-bpmp-thermal.h> [all …]
|
/linux/arch/arm64/boot/dts/broadcom/stingray/ |
H A D | stingray.dtsi | 4 * Copyright(c) 2015-2017 Broadcom. All rights reserved. 33 #include <dt-bindings/interrupt-controller/arm-gic.h> 37 interrupt-parent = <&gic>; 38 #address-cells = <2>; 39 #size-cells = <2>; 42 #address-cells = <2>; 43 #size-cells = <0>; 47 compatible = "arm,cortex-a72"; 49 enable-method = "psci"; 50 next-level-cache = <&CLUSTER0_L2>; [all …]
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | msm8998.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/clock/qcom,gcc-msm8998.h> 6 #include <dt-bindings/clock/qcom,gpucc-msm8998.h> 7 #include <dt-bindings/clock/qcom,mmcc-msm8998.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/firmware/qcom,scm.h> 10 #include <dt-bindings/power/qcom-rpmpd.h> 11 #include <dt-bindings/gpio/gpio.h> 14 interrupt-parent = <&intc>; [all …]
|
/linux/Documentation/devicetree/bindings/crypto/ |
H A D | hisilicon,hip07-sec.txt | 4 - compatible: Must contain one of 5 - "hisilicon,hip06-sec" 6 - "hisilicon,hip07-sec" 7 - reg: Memory addresses and lengths of the memory regions through which 11 Regions 2-18 have registers for the 16 individual queues which are isolated 13 - interrupts: Interrupt specifiers. 14 Refer to interrupt-controller/interrupts.txt for generic interrupt client node 19 - dma-coherent: The driver assumes coherent dma is possible. 22 - iommus: The SEC units are behind smmu-v3 iommus. 23 Refer to iommu/arm,smmu-v3.txt for more information. [all …]
|