Skip to content

Commit cc69fc4

Browse files
committed
Merge branches 'arm/msm', 'arm/allwinner', 'arm/smmu', 'x86/vt-d', 'hyper-v', 'core' and 'x86/amd' into next
8 parents 3d77e6a + c4e0f3b + 79074f6 + 0299a1a + 71974cf + 9f510d1 + edcc40d + 736c333 commit cc69fc4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+3341
-1927
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/iommu/allwinner,sun50i-h6-iommu.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Allwinner H6 IOMMU Device Tree Bindings
8+
9+
maintainers:
10+
- Chen-Yu Tsai <[email protected]>
11+
- Maxime Ripard <[email protected]>
12+
13+
properties:
14+
"#iommu-cells":
15+
const: 1
16+
description:
17+
The content of the cell is the master ID.
18+
19+
compatible:
20+
const: allwinner,sun50i-h6-iommu
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
clocks:
29+
maxItems: 1
30+
31+
resets:
32+
maxItems: 1
33+
34+
required:
35+
- "#iommu-cells"
36+
- compatible
37+
- reg
38+
- interrupts
39+
- clocks
40+
- resets
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
#include <dt-bindings/interrupt-controller/arm-gic.h>
47+
#include <dt-bindings/interrupt-controller/irq.h>
48+
49+
#include <dt-bindings/clock/sun50i-h6-ccu.h>
50+
#include <dt-bindings/reset/sun50i-h6-ccu.h>
51+
52+
iommu: iommu@30f0000 {
53+
compatible = "allwinner,sun50i-h6-iommu";
54+
reg = <0x030f0000 0x10000>;
55+
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
56+
clocks = <&ccu CLK_BUS_IOMMU>;
57+
resets = <&ccu RST_BUS_IOMMU>;
58+
#iommu-cells = <1>;
59+
};
60+
61+
...

Documentation/devicetree/bindings/iommu/arm,smmu.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ properties:
4141
- const: arm,mmu-500
4242
- const: arm,smmu-v2
4343
- items:
44-
- const: arm,mmu-401
44+
- enum:
45+
- arm,mmu-400
46+
- arm,mmu-401
4547
- const: arm,smmu-v1
4648
- enum:
4749
- arm,smmu-v1

Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ For the compatible strings below the following phandle references are required:
184184
followed by the offset within syscon for conn_box_spare0
185185
register.
186186

187+
The Hexagon node must contain iommus property as described in ../iommu/iommu.txt
188+
on platforms which do not have TrustZone.
189+
187190
= SUBNODES:
188191
The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
189192
the memory regions used by the Hexagon firmware. Each sub-node must contain:

arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,11 @@ ap_ts_i2c: &i2c14 {
631631
status = "okay";
632632
};
633633

634+
&mss_pil {
635+
iommus = <&apps_smmu 0x780 0x1>,
636+
<&apps_smmu 0x724 0x3>;
637+
};
638+
634639
&pm8998_pwrkey {
635640
status = "disabled";
636641
};

drivers/iommu/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,15 @@ config ROCKCHIP_IOMMU
303303
Say Y here if you are using a Rockchip SoC that includes an IOMMU
304304
device.
305305

306+
config SUN50I_IOMMU
307+
bool "Allwinner H6 IOMMU Support"
308+
depends on ARCH_SUNXI || COMPILE_TEST
309+
select ARM_DMA_USE_IOMMU
310+
select IOMMU_API
311+
select IOMMU_DMA
312+
help
313+
Support for the IOMMU introduced in the Allwinner H6 SoCs.
314+
306315
config TEGRA_IOMMU_GART
307316
bool "Tegra GART IOMMU Support"
308317
depends on ARCH_TEGRA_2x_SOC

drivers/iommu/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ obj-$(CONFIG_MTK_IOMMU_V1) += mtk_iommu_v1.o
2929
obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o
3030
obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o
3131
obj-$(CONFIG_ROCKCHIP_IOMMU) += rockchip-iommu.o
32+
obj-$(CONFIG_SUN50I_IOMMU) += sun50i-iommu.o
3233
obj-$(CONFIG_TEGRA_IOMMU_GART) += tegra-gart.o
3334
obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
3435
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o

0 commit comments

Comments
 (0)